cbc2 [Crypto] 2019 CTFZONE CSES : CBC모드에서 KEY=IV 일때, 발생하는 취약점 먼저 루아와 관련된 문자열이 상당히 많이 존재하는 ELF파일이 주어졌다. 해당 파일을 살펴보는게 먼저이지만, 이 문제는 그것이 핵심이 아닌듯하니 생략하겠다. 단순한 루아 스크립트가 아닌 스크립트의 실행이 가능한 파일이라는 것을 알 수 있었다. 아래의 루아 라이브러리에 대해 빌드하면 나오는 형태와 비슷한 것 같다. https://empier.tistory.com/334 파일의 하단부분인 0x37020 주소에 47과 4F가 많이 나타나는 수상한 값을 찾을 수 있었다. 읽을 수 없도록 꼬아져있다고 생각했다. a1은 암호화되어 있는 스크립트의 주소, a2는 스크립트의 길이를 인자로 복호화 연산을 하는 것으로 추정되는 함수를 찾아서 아래처럼 동일하게 작성해 동작시켰다. 출력 결과로 루아 컴파일러에 의해 컴파일된 .. 2019. 12. 2. [Python] AES 예제 import base64 from Crypto.Cipher import AES from Crypto import Random pad = lambda s: s + (BS - len(s) % BS) * chr(BS - len(s) % BS) unpad = lambda s : s[:-ord(s[len(s)-1:])] class AESCipher: def __init__( self, key ): self.key = key def encrypt( self, raw ): raw = pad(raw) iv = Random.new().read( AES.block_size ) cipher = AES.new( self.key, AES.MODE_CBC, iv ) return base64.b64encode( iv + ciphe.. 2018. 2. 6. 이전 1 다음 반응형