ctf 및 여러가지 문제들/HackCTF
HackCTF - g++ pwn
ddanss
2019. 8. 30. 23:32
728x90
이게 main이고
이게 vuln이라 system에 대해선 별거 없었다.
그래서 info functions로 함수 목록을 보니
get_flag라는 함수가 있다
오 flag.txt라는 파일의 내용을 출력하는 거구만!
근데 취약점이... 생각보다 간단하게 보이지 않았다.
결국 취약점은
이 vuln함수에서 있었다.
fgets는 3C-1D라 딱 32라 fgets는 취약한 함수가 아니다.
replace라는 함수가 I->YOU로 바꿨다.
그럼 I를 20개 입력하면 YOU가 20개 되어서 결국 60바이트가 된다.
배열 s부터 sfp까지의 거리는 3C=60이니까 I를 20개 입력하고 sfp에 더미를 입력하고 ret주소에 get_flag를 입력하면 될것같다.
하고~ python ex.py 실행해보면
바로 flag가 나온다.
반응형