Profile

youngsouk

youngsouk

LOB FC3 dark_eyes -> hell_fire

이번에는 dark_eyes를 풀어볼거다. 먼저 hell_fire 소스를 보자


여기서 포트는 7777이라는 것과 hint를 볼 수 있는데 hint에 적힌 것보다 훨씬 쉬운 방법이 있으므로 우리는 이 방법으로 풀자

우선 system함수의 메모리 주소를 통해 system함수의 명령을 보면 do_system라는 함수를 호출하는 것을 알 수 있다.



그 뒤 do_system 함수의 내부의 명령어들을 보다보면 execve 함수를 실행시키는 부분이 있는데 이 함수를 실행하게끔 하는 주소를 RET에 적으면 /bin/sh를 실행시키는 것과 똑같은 작용이 일어난다. 고로 우리가 RET에 덮어씌울 메모리 주소는 0x750784가 된다.


gdb로 hell_fire을 열어서 우리가 얼마나 덮어씌우면 SFP가 나오는지 확인한다.



우리는 최종적으로 264만큼 덮으면 SFP를 만나게 되므로 268개만큼 덮고 RET 주소에 0x750784가 되게 하면 성공이다.



성공이다. bb

'해커스쿨 LOB' 카테고리의 다른 글

LOB FC3 evil_wizard -> dark_stone  (0) 2019.02.25
LOB FC3 hell_fire -> evil_wizard  (0) 2019.02.23
해커스쿨 lOB FC3 iron_golem -> dark_eyes  (0) 2019.02.22
LOB FC3 gate -> iron_golem  (0) 2019.02.22
FC3 보호기법에 대해  (0) 2019.02.22