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가 나온다.

 

반응형