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

+ Recent posts