LOB - 16. assassin -> zombie_asssassin

2018. 7. 30. 22:33WarGame/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