HanJeouk의 개인공부 블로그

Stack5 코드를 보면 아~주 간단하게 나온다. 나는 여기에 RTL 기법을 쓰기로 했다.

버퍼의 크기를 구하는 건 저번에 설명했기 때문에 생략한다. 버퍼의 크기는 dummy를 포함해 72byte다.


이제 여기에 RTL 기법을 쓸건데 우선 필요한게 두 가지다.


바로 시스템주소와 /bin/sh의 주소다. 지금부터 구하겠다.


우선 시스템주소다. 

시스템주소는 gdb로 브레이크 포인트를 걸고 실행시킨 다음 p system 명령어를 이용하여 구할 수 있다.

시스템 주소는 0xb7ecffb0이다.

이제 /bin/sh의 주소를 구하면 된다.


/bin/sh는 코드를 구현해서 짰다.

/bin/sh의 주소는 0xb7fb63bf다.


자 이제 페이로드를 짠다.

페이로드는 버퍼+더미+sfp를 포함해 76을 채우고 시스템 주소 그 다음에는 인자값으로 4바이트 마지막으로는

/bin/sh의 주소를 넣어주면 될 것이다.




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

Protostar Stack7  (0) 2017.04.06
Protostar Stack6  (0) 2017.04.05
Protostar Stack4  (0) 2017.04.02
Protostar Stack3  (0) 2017.04.01
Protostar Stack2  (0) 2017.03.29