System/FTZ2019. 3. 19. 06:19

▲ 언뜻 보면 level14와 같아 보이지만 check가 그냥 변수가 아닌 포인터 변수로 변경되었습니다.


▲ 분석 편의상 intel 문법으로 변경하였습니다. 보면 버퍼를 56만큼 할당 해 주고 ebp-16위치에 있는 값과 0xdeadbeef를 비교해 줍니다. 따라서 56-16 = 40. 즉 40만큼의 NOP을 입력해 준 후 deafbeef가 있는 주소를 입력해주면 됩니다.


▲deadbeef는 프로그램 내에 하드코딩 되어 있는 상태. 약간의 게싱을 통해 찾아냈습니다. 주소값은 0x080484b2 입니다.


따라서 공격은 NOP*40 + 0x080484b2로 이루어집니다.

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


'System > FTZ' 카테고리의 다른 글

[FTZ school] level 17  (0) 2019.03.19
[FTZ school] level 16  (0) 2019.03.19
[FTZ school] level 14  (0) 2019.03.19
[FTZ school] level 13  (0) 2019.03.19
[FTZ school] level 11  (0) 2019.03.19
Posted by BadSchool