HanJeouk의 개인공부 블로그


gets 함수의 취약점을 이용하면 풀 수 있을 것 같다.

gdb로 main 함수를 보니 이렇게 나와있다 main+21에 브레이크 포인트를 걸고 실행시킨 후 버퍼의 시작부분과 sfp의 시작부분을 빼줘서 버퍼의 크기를 구하면?

72라고 보니 더미가 있는듯? 그럼 버퍼(64byte)+더미(8byte)+sfp(4byte)+ret(4byte)로 되어 있는게 아닐까 싶다.

이제 win 함수의 주소를 구하면

시작주소를 쓰자 리틀엔디안이니까 \xf4\x83\x04\x08이 되시겠다.

이제 페이로드를 짜자.


'Wargame > Protostar' 카테고리의 다른 글

Protostar Stack6  (0) 2017.04.05
Protostar Stack5  (0) 2017.04.05
Protostar Stack3  (0) 2017.04.01
Protostar Stack2  (0) 2017.03.29
Protostar Stack1  (0) 2017.03.22