반응형
문제 2 Gremlin
일단 뭐가 있는지 확인해봅니다
cobolt.c 코드를 확인해 봅니다
제가 가진 쉘코드는 25바이트인데 buffer는 16바이트밖에 없으므로
쉘코드를 삽입할 수 없습니다
low
————————
buffer 256byte(shellcode)
—————————
saved ebp
—————————
saved eip buffer's start
—————————
argc
—————————
*argv argv's pointer
—————————
…
argv[0] arg1's addr
argv[1] arg2's addr
argv[2] 0x000000000
argv[3] 0x000000000
—————————
…
arg1 addr: ./cobolt
arg2 addr: argument (변조된 주소)
arg3 addr: shellcode
env…
high
그래서 환경변수에 쉘코드를 삽입합니다
nop을 넣는 이유는 주소값을 그 부근에 넣어도 nop은 실행주소가 올떄까지 찾아가므로 주소값 찾기가 용이하기 위해서 입니다
인자로 이제 그 주소값을 넘기면 잘 실행됨을 알수 잇습니다
'Wargame > bof 원정대' 카테고리의 다른 글
[BOF]문제 6 WOLFMAN (0) | 2017.11.21 |
---|---|
[BOF]문제 5 ORC (0) | 2017.11.21 |
[BOF]문제 4 goblin (0) | 2017.11.10 |
[BOF]문제 3 cobolt (0) | 2017.11.10 |
[BOF]문제 1 gate (0) | 2017.11.10 |