본문 바로가기
워게임/FTZ

FTZ - level12

by meanjung 2021. 7. 22.

hint

여기서는 gets 함수로 사용자 입력을 받는다.

gets 또한 입력값 길이를 검사하지 않는다는 취약점이 있다.

 

그럼 level11과는 printf에 %s가 추가되었다는 점, gets함수를 사용한다는 점만 다르다.

 

11번과 동일하게 풀면 된다.


다만, 다른 점은 여기서는 gets로 실행파일을 실행시키면 사용자 입력을 기다리므로

(python -c ~~; cat) | ./attackme 와 같이 실행해야 한다.

 

왼쪽 python 명령어의 결과로 쉘을 얻었지만, 더 이상 입력이 없어서 쉘이 실행되자마자 종료된 것이다.

이걸 해결하려면 파이프( | ) 앞의 프로그램이 끝나지 않고 입력을 기다려야 한다.

 

 

 

 

 

'워게임 > FTZ' 카테고리의 다른 글

FTZ - level15  (0) 2021.07.24
FTZ - level14  (0) 2021.07.23
FTZ - level11  (0) 2021.07.21
FTZ - level10  (1) 2021.07.12
FTZ - level9  (0) 2021.07.06

댓글