작성자: 지현근
N00bCTF pwn분야를 5시간만에 겨우 올클한 기념으로 풀이를 작성한다.
파일을 다운받고 gdb를 이용해 함수들을 살펴보자
main함수와 flag함수가 눈에띈다.
함수목록들을 살펴봤을 때, gets 함수가 있으니 bof가 가능함을 알 수 있다.
flag 함수를 살펴보면 system함수가 있으니 쉘코드 없이 가능하다는걸 알 수 있다.
flag 함수 주소를 ret에 넣어주면 flag 함수로 jmp를 할거라는 예상을 할 수 있다.
대충 변수크기는 20이고 32비트짜리 프로그램이니 SFB 4까지 더해줘서 A를 24개 넣어주면 될거다.
그리고 주소까지 더해서 AAAAAAAAAAAAAAAAAAAAAAAA\x16\x85\x04\x08를 넣어주면 뚫릴것이다.
(python -c 'print "A"*24 + "\x16\x85\x04\x08"';cat) | nc 52.79.224.215 30005
뚫으면 그냥 ls -al로 목록을 확인하고 cat으로 flag를 읽어주면 된다.
'CTF 중점 스터디' 카테고리의 다른 글
N00bCTF - Simple md(5-1) Write-up (0) | 2019.11.20 |
---|---|
Wargame.kr - strcmp - Write up (0) | 2019.11.18 |
Pwnable.kr_bof5 WriteUp (0) | 2019.11.17 |
Reversing.kr - Easy Keygen Write up (0) | 2019.11.12 |
Newbie CTF REC Write up (0) | 2019.11.11 |