티스토리 뷰

Pwnable/CTF

Plaid CTF 2014 pork

err0rless313 2015. 10. 25. 22:34

ROP면서도 신경쓸 게 많았던 문제였던 것 같다.

cd80님이 힌트를 주신것들을 활용해 보면서 풀어봤고 sprintf를 이용하여 free-address에 // 0x00이 들어가면 안되기 때문에

payload를 복사해 주고 Fake-EBP기법을 통해 payload를 실행해주고 쉘코드를 이용하여 풀어봤다.

바이너리에 NX-Bit는 적용되어 있지 않다.


최대한 깔끔하게 exploit코드를 구성하려고 노력했고 sprintf를 13번정도 이상 실행하면 오류가 나서 

read@got를 이용하여(read.plt+6을 가르키고 있는 포인터) free-address에 read.plt를 복사해 주었다.


그리고 s.send(sc)를 해주기 전에 print s.recv(1024)를 해줬었는데 그 다음으로 넘어가지 않는 현상이 발생했었다.

이 부분은 fd가 변조되었기 때문에 바이너리가 write를 제대로 실행해주지 못해서 받을 값이 없기 때문에

s.recv()를 해줄 필요가 없다.



http_m3ans_w3b_amirite

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

32c3 CTF readme  (0) 2015.12.30
SECCON 2015 Quals FSB:TreeWalker  (0) 2015.12.09
Layer7 CTF 2015 Spil..Spli....SPPPPPIILL  (0) 2015.09.16
Codegate 2015 Bookstore  (0) 2015.09.14
Layer7 CTF 2015 IhaveLongDariYouHaveShotDari  (0) 2015.08.30
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함