소스가 좀 길어졌습니다
처음보는 함수도 있어서 당황스러웠는데
해석해가면서하니 이해가 됬습니다.
while문먼저보면 while은 무한루프를 돕니다.
그리고 조건문 if에서 check==deadbeef 가 되면
shellout 함수를 실행하게 됩니다.
FD_ZERO 같은것들은 잘몰랐는데 구글링해보니 입력값을 받아온다고 그런거같습니다.
switch에는 0x08일시 count가 -- 되는것을 볼 수 있습니다.
또 0x08인데 -1을 한다는것은 마이너스가되서 스택안에서 check값을
바꿀수 있다는 뜻입니다.
스택에서 check은 string[0]의 4바이트입니다.
스택의 구조가 이렇습니다.
그러면 바로 공격해봅시다.
쉘이따졋습니다!
'Wargame - 고등학교 시절 가독성 주의 부탁드립니다.) > PWNABLE' 카테고리의 다른 글
Protostar stack0 (0) | 2017.04.16 |
---|---|
ftz level19 (0) | 2017.04.16 |
ftz level17 (0) | 2017.04.15 |
[pwnable.kr]bof (0) | 2017.04.14 |
ftz level16 (0) | 2017.04.14 |