반응형
문제에 접근하면 아래와 같이 업로드하는 로직이 있으며, 업로드 경로에 있는 flag.php 파일을 읽으면 된다고 한다.
가장 먼저 든 생각은 웹쉘을 올리는 것이였다.
그래서 일단 php 코드 실행이 가능한지 테스트하기 위해 간단하게 echo 문을 통해 php 파일을 올려보았다.
하지만 다음과 같이 <?php의 <가 제거되어 php 코드가 실행되지 않고 그냥 출력되었다.
여기서 나는 <?php 를 제외하고 php 코드를 실행할 수 있는 것이 있는데 결국 찾지 못하였다.
php.ini에서 short_open_tag를 이용하면 <?를 통해서도 실행이 가능하다고 하지만 이는 <를 이용하고 있기도 하고 수정 후 서버를 재시작해야 한다고 해서 해당 문제와는 관련이 없을거라 생각하였다.
계속 찾아보다가 업로드하는 디렉토리와 flag.php가 위치하는 경로가 일치하므로 디렉토리에서 실행과 관련된 설정을 하는 .htaccess와 관련이 있지 않을까 하여 알아보다가 php_flag engine off 라는 것을 알았다.
해당 옵션을 .htaccess에 설정할 경우 해당 디렉토리에서는 php 실행이 불가능하여, flag.php에 접근하게 되면 소스코드가 그대로 노출이 될 것이다.
위와 같이 .htaccess 파일을 업로드 후 flag.php에 접근하면 그대로 소스코드가 노출되며 그 안에 FLAG가 존재한다.
반응형
'Solve Problem > Webhacking.kr' 카테고리의 다른 글
webhacking.kr old-06 writeup (0) | 2020.04.21 |
---|---|
webhacking.kr old-02 writeup (0) | 2020.04.21 |
webhacking.kr old-40 writeup (1) | 2020.04.14 |
webhacking.kr old-50 writeup (0) | 2020.04.14 |
webhacking.kr old-51 writeup (0) | 2020.04.14 |