본문 바로가기

Write-up10

[Crypto] 2019 CTFZONE CSES : CBC모드에서 KEY=IV 일때, 발생하는 취약점 먼저 루아와 관련된 문자열이 상당히 많이 존재하는 ELF파일이 주어졌다. 해당 파일을 살펴보는게 먼저이지만, 이 문제는 그것이 핵심이 아닌듯하니 생략하겠다. 단순한 루아 스크립트가 아닌 스크립트의 실행이 가능한 파일이라는 것을 알 수 있었다. 아래의 루아 라이브러리에 대해 빌드하면 나오는 형태와 비슷한 것 같다. https://empier.tistory.com/334 파일의 하단부분인 0x37020 주소에 47과 4F가 많이 나타나는 수상한 값을 찾을 수 있었다. 읽을 수 없도록 꼬아져있다고 생각했다. a1은 암호화되어 있는 스크립트의 주소, a2는 스크립트의 길이를 인자로 복호화 연산을 하는 것으로 추정되는 함수를 찾아서 아래처럼 동일하게 작성해 동작시켰다. 출력 결과로 루아 컴파일러에 의해 컴파일된 .. 2019. 12. 2.
[Crypto] 2019 CTFZONE agents : OFB 모드에서 값을 조작해야하는 문제 먼저 문제에 대해 설명을 하자면, 1번을 누를 경우, 요원이름과 장문의 랜덤한 암호문을 준다. 이후 이 암호문을 가지고 2번을 눌러 에이전트에게 이름과 암호문을 전달하면 믿을만한 요원이 아니기때문에 시크릿 메시지를 줄 수 없다고 한다. 이에 분석을 해서 알게된 것을 아래와 같이 추렸다. 알고있는 것: 1. AES-OFB모드로 암호화된 암호문 2. 세어보니 암호문은 자릿수는 337자리 (ECB와 OFB모드처럼 길이가 블럭단위가 아니다) 3. 한번 사용된 요원의 암호문은 재사용불가 4. 암호문은 JSON이다. (337자리에서 특정 바이트들을 깨서 보내보았는데 정상동작을 할때도 있고, "JSON Corrupted" 메시지가 뜰때도 있었음) 그래서 나는 JSON 값에 "{trust : 0}" 와 같은 필드가 존.. 2019. 12. 2.
[Reversing]Defcon 2015 Pr0dk3y Pr0dk3y 의 기본 소스는 IDA의 Hexray로 재구성하였다.필요한 Data도 긁어서 선언하였고 직접적인 바이너리와 같은값을 주어서 함수를 빠져나왔을때 같은결과가 나오는지로 비교해가면서 소스를 완성시켰다. #include #include /* 8f2 26 case 0xFFFFF8B3://16BB var7=a1[i]-65; break; case 0xFFFFF8C8: var7=a1[i]-66; break; case 0xFFFFF8DD: var7=a1[i]-67;*/ BYTE table[] = "ABCDEFGHJKLMNPQRSTUVWXYZ23456789"; DWORD dword_1E08[41] = { 0xFFFFF8F2, 0xFFFFF8F2, 0xFFFFF8F2, 0xFFFFF8F2, 0xFFFFF8F2.. 2015. 6. 3.
HISCHALL 2013 문제 풀이 Write up 이미지 부분이 깨지니 본문 아래 링크에서 PDF로 봐주시면 감사하겠습니다.Created by BCL easyConverter SDK 3 (HTML Version) HISCHALL 2013 이름:강명석 ID:dladbru BAAASIC GNIREENIGNE (50) 히히히 Solver:25 문제를 받아 올리디버거로 열어보면,“input string:“를 출력해준 뒤 값을 입력받 는다. 입력받은 다음 BreakPoint에 걸리게 아래와 같이 걸어두었다. input값으로 “1234567890“ 을 입력해 주었다. 012F156C B8 01000000 MOV EAX,0x1 012F1571 6BC0 05 IMUL EAX,EAX,0x5 012F1574 0FBE4C05 E4 MOVSX ECX,BYTE PTR SS:[.. 2013. 11. 17.
반응형