hackerschool ftz ftz.hackerschool.org level12 (rtl) wooy0ng 2017. 10. 29. 20:08 이웃추가 본문 기타 기능 이번에는 level12를 RTL의 방법으로 풀겠습니다. (32bit환경) RTL이란 return to library의 약자로써 주로 NX보호기법이 걸려있을 상황에 사용하는 방법입니다. Retr 주소에 libc라는 공유라이브러리 함수 주소로 덮어버려서 system()함수를 호출하도록 유도하는것입니다.
이 문제의 힌트입니다. gets()함수를 사용하여서 사용자로부터 무한정 입력받을 수 있기 때문에 bof취약점이 발생합니다. 여기서 RTL을 사용하여 풀어보도록 하겠습니다.
우선 gdb를 이용하여서 system()함수가 어디에 위치하는지 알아내야합니다. 그래서 저는 main()에 break point를 걸고 system()함수의 주소를 알아내기로 했습니다.
브포를 건 뒤에 실행을 시키고 나서 system()함수의 주소를 확인...
#
hackerschool
#
level12
#
rtl