-
LEVEL 04 goblin write-upSystem hacking training/Hackerschool LOB 2018. 3. 16. 01:32
[문제]
extern 키워드로 외부변수를 불러와 0으로 초기화 해주는 것을 볼 수 있다.
environ이라는 변수명만 봐도 환경변수를 초기화 해준다는 것을 알 수 있다.
따라서 exploit하기 위해서 자주쓰던 환경변수를 사용할 수 없다.
그렇기 때문에 스택에 쉘코드를 올려 실행을 해야한다.
[시나리오]
| char buffer[40] | SFP | RET |
스택은 위와 같이 쉘코드가 들어갈 충분한 크기를 가지고 있다.
따라서 buffer에 19byte의 dummy(\x90)과 쉘코드 25byte를 넣어준다.
gdb로 입력값이 들어가는 위치중 \x90에 해당하는 위치의 주소를 구하여 return address에 덮어주면 쉘을 띄울 수 있다.
※ gdb로 분석을 하기 위해 tmp 디렉토리를 만들어줬고, 그 안에 orc 바이너리를 복사하여 분석하였다.
이상 goblin 풀이를 마친다.
반응형'System hacking training > Hackerschool LOB' 카테고리의 다른 글
LEVEL 06 darkelf write-up (0) 2018.03.21 LEVEL 05 wolfman write-up (0) 2018.03.16 LEVEL 03 cobolt write-up (0) 2018.03.15 LEVEL 02 gremlin write-up (0) 2018.03.15 LEVEL 01 gate write-up (0) 2018.03.11