코드가 엄청나게 길다.
문제를 보면 string에 값을 넣고, check와 deadbeef가 같다면 shellout 함수를 실행시킬수 있다.
하지만 스택구조상으로는 string으로 check를 건들수는 없다
왜냐하면 스택에는 string배열 먼저 쌓이고, 그 위에 check가 쌓이게 된다
- - - - | check | stirng | sfp | ret |
로 쌓이게 된다.
하지만 코트를 자세히 보면 0x08일때 count가 --된다. 그렇다면 4번 0x08일때는 stirng[-4] 인 즉 check의 주소가 된다.
그러므로 이렇게 할 수있다.
Flag : swimming in pink
'IT > FTZ' 카테고리의 다른 글
[FTZ] level20 (0) | 2016.07.10 |
---|---|
[FTZ] level19 (0) | 2016.07.10 |
[FTZ] level17 (0) | 2016.07.10 |
[FTZ] level16 (0) | 2016.07.10 |
[FTZ] level15 (0) | 2016.07.10 |