LOB - 16. assassin -> zombie_asssassin
2018. 7. 30. 22:33ㆍWarGame/LOB
위 문제를 풀다가 도저히 이해가 힘들어서 Fedora3를 풀어봤는데 Fedora3의 gate문제도 비슷한 문제였습니다 ㅎㅎ 그래서 fakeebp를 풀어보고, 비슷한 방법으로 이 문제를 시도해봤지만.. 역시 안되더군요 ㅎㅎ 그래서 초심으로 돌아가봤습니다.
일단 로그인을 합니다.
소스코드를 봅니다.
FEBP를 사용하라고하고, 리턴 뒤에값을 사용하지 못하는군요..ㅠ
2번문제를 포스팅했던 RTL을 이용해서 풀어볼 예정입니다.
계획한 payload는 다음과같습니다.
RTL*12 + "\n90"*28 + "buffer-4" + leave
buffer sfp ret
1. system함수 위치
2. /bin/sh 위치
3. buffer-4 위치
4. leave위치만 알면 됩니다.
system 함수는 아래와 같
이 찾습니다.
이제 문제는 system 함수 내에서 "/bin/sh"를 찾는것이다.
직접 x/100s $esp로 찾아도 좋지만, 컴퓨터가 우리보다 빠르니 프로그램을 작성하도록 하죠!
프로그램을 돌렸더니"/bin/sh"의 위치가 "0x400fbff9"가 나왔습니다.
leave는 위와 같이 찾고
,
마지막으로 buffer값을 찾기위해 소스코드를 아래와같이 수정하고
인자값을 넣어줘서 buffer값을 구합니다!
이대로 exploit을 해줍니다!
(grin)
힘들었드아..
'WarGame > LOB' 카테고리의 다른 글
LOB - 18. succubus -> nightmare (262) | 2018.07.31 |
---|---|
LOB - 17. zombie_assassin -> succubus (254) | 2018.07.31 |
LOB - 15. giant -> assassin (283) | 2018.07.30 |
LOB - 14. bugbear-> giant (277) | 2018.07.30 |
LOB - 13. darkknight-> bugbear (256) | 2018.07.30 |