본문 바로가기
Wargame/webhacking.kr

webhacking.kr 41번

by morae23 2019. 1. 29.

41번 문제를 보면 아래와 같이 파일을 입력받는다.

 

 



 

 

아래는 index.phps 코드이다.

 

 



 

 

코드를 보면, 파일을 입력 받은 뒤 hidden_dir 폴더에 필터링을 거친 파일 이름으로 파일을 생성한 뒤 pw를 write한다.

 

따라서 hidden_dir의 이름을 알 수 있으면 해당 파일을 열어 pw를 읽을 수 있을 듯하다.

 

이 때, 입력한 파일 이름이 필터링 되는 것을 이용하여

파일 이름이 공백이 될 경우를 시도해 보았다.

 

입력 시에 공백을 입력하지는 않았지만 필터링 된 값에 대한 검증이 없는 경우 문제가 될 수 있다.


 

 



 

 

공백으로 replace되는 >를 이름으로 하는 파일을 업로드 하였다.

그 결과 Warning 메세지를 통해 hidden_dir을 알 수 있다.

 

 



 

 

이제 해당 경로를 통해 pw를 읽기 위해 임의의 파일을 업로드 하였다.


 

 



 

 

위에서 알게 된 hidden_dir 경로의 aaa 파일을 읽으면 아래와 같이 플래그를 얻을 수 있다.

 

 



 

 

이 플래그를 이용하여 인증하면 clear할 수 있다.

 

 



 

 



'Wargame > webhacking.kr' 카테고리의 다른 글

webhacking.kr 32번  (0) 2019.01.29
webhacking.kr 48번  (0) 2019.01.29
webhacking.kr 51번  (0) 2019.01.29
webhacking.kr 53번  (0) 2019.01.29
webhacking.kr 60번  (0) 2019.01.29

댓글