Challenge 28 시작!!
파일 업로드 기능이 있는 것을 보니 파일 업로드 취약점을 이용하는 문제로 보인다.
일단 제시된 flag.php 에 접근해보았지만 아무 내용도 출력되지 않았다.
flag.php 페이지에서는 어떤 힌트도 얻지 못했다.
운 좋게도 이전에 보안공부를 하며 이와 같은 유형의 문제를 접한 적이 있다.
이 문제와 같이 php 파일에 어떤 단서도 없을 경우, php 기능을 off 하여 코드 내에서 정답을 찾을 수 있다.
이 때 사용하는 파일이 .htaccess 이다.
.htaccess 파일은 apache 서버에서 각 디렉토리에 위치하면서 아파치 세팅을 디렉토리별로 변경할 수 있도록 하는 파일이다.
때문에 해당 문제에서 .htaccess 파일을 업로드 할 경우, flag.php 가 있는 디렉터리에 업로드 되어 설정을 변경할 수 있다.
.htaccess 파일 설정은 웹 설정 파일의 <Directory> 지시자에서 설정하는 방법과 동일하다.
php 에 대한 설정은 php_value 와 php_flag 가 있는데 기능을 on / off 하는 boolean 설정은 php_flag 를 이용한다.
그 중, php 파일을 off 시키는 설정은 php_flag engine off 이다.
그럼 이제 .htaccess 에 위의 설정을 입력한 뒤, 업로드해보자!
일단 a.txt 파일에 설정값을 입력한 뒤, proxy 툴을 통해 .htaccess 로 이름을 변경해주었다.
그리고 나서 flag.php 에 들어가게 되면
다음과 같이 정답 플래그를 출력해준다.
성공!!
이전부터 계속 느끼는 거지만 보안공부를 하면서 웹 개발 공부를 했을 당시 알지 못했거나 놓쳤던 부분들을 많이 배우게 되는 것 같다.
'WarGame > webhacking.kr' 카테고리의 다른 글
Challenge 32 (0) | 2020.03.02 |
---|---|
Challenge 29 (0) | 2020.03.02 |
Challenge 27 (0) | 2020.02.28 |
Challenge 26 (0) | 2020.02.27 |
Challenge 25 (0) | 2020.02.27 |