2번 문제인 cobolt 이다.
1번 문제와 유사하나 buffer의 크기가 이번에는 16이다.
즉, NOP sled나 shellcode를 담기에는 작은 공간이다.
따라서 환경변수로 미리 쉘코드를 만들어두고, 그 환경변수의 주소를 buffer의 ret에 덮어주면 될 것이다.
환경변수를 만들 때는 export [환경변수이름], 제거할 때는 unset [환경변수이름]의 형태로 만들 수 있다.
환경변수에 shellcode를 담았으니, 이제 환경변수의 주소를 알아보자.
환경변수의 주소는 0xbfffff07이다.
이제 buffer(16) + sfp(4) = 20만큼 더미값을 채우고, 0xbfffff07을 리틀엔디안으로 넣어주면 될 것이다.
성공적으로 쉘을 땄다.
hacking exposed
'Hacking > Pwnable' 카테고리의 다른 글
[LOB] 4번 - orc (0) | 2020.08.18 |
---|---|
[LOB] 3번 - goblin (0) | 2020.08.16 |
[LOB] 1번 - gremlin (0) | 2020.08.10 |
Hackerschool FTZ - level9 write up (0) | 2019.09.21 |
Hackerschool FTZ - level8 write up (0) | 2019.09.18 |