Webhacking.kr 28 - .htaccess 파일
이 문제는 .htaccess에 대해서만 잘 알고있다면 쉽게 풀었을 문제인데 제가 웹 공부를 시작한지 이제 한달 조금 넘겨서 잘 몰라서 많이 찾아봤습니다.
.htaccess 파일이란?
디렉토리별로 설정을 변경할 수 있는 설정파일을 말하는데, 분산 설정 파일이라고도 불린다고 합니다.
이 파일을 해당 디렉토리에 두면 그 디렉토리와 모든 하위 디렉토리에 지시어를 적용할 수가 있습니다.
이 .htaccess 파일을 이용하면 사용자가 특정 디렉토리 내의 파일에 접근하는 것을 막을 수가 있다고 합니다.
뭔가 중요한 파일이라는 생각이 들었습니다.
.htaccess 파일을 이용하면 사용자가 특정 디렉토리의 접근을 제어할 수가 있다고 하는데 이 문제에서 보듯
저기 http://webhacking.kr/challenge/web/web-13/upload/index.php 를 읽어라!!!라는 뜻으로 해석을 했습니다. 즉 이 디렉토리 (/challenge/web/web-13/upload/index.php)를 읽으면 문제가 풀릴 것이라고 생각했습니다.
그래서 구글에 .htaccess 파일 설정, .htaccess 디렉토리 읽기 등의 많은 검색을 한 끝에
http://hyunmini.tistory.com/48
이 블로그에서 거의 답에 근접하게 원하는 정보를 얻을 수가 있었습니다.
php 엔진을 꺼버리면 php 소스를 모두 열람할수도 있다.(모두!!!)
그리고 끄는 방법은 php_flag engine off 였습니다.
만약 a라는 파일안에 hello world 를 적고 업로드를 하게되면, 이 문제에서는
Done홈페이지 보안 문제로 파일내용은 표시해주지 않습니다.
부득이하게 이렇게 하드코딩으로 바꿔놨으나, 실제로 취약점이 있는 상황에서 사용할 수 있는 취약점이니 재밌게 풀어주세요.
hint : .htaccess
라는 경고가 있지만, burp suite로 잡아서 보게되면 파일 내용까지도 모두 서버로 전달이 되게 됩니다. 따라서 .htaccess 라는 이름을 가진 파일을 만들어서 그 안에다가 php_flag engine off 를 적어주면 서버측에서는 .htaccess 를 설정파일이라고 생각하고 그 안에있는 정보를 읽어 적용하게 됩니다.
그럼 모든 php 소스가 열람 가능하게 되어서 read me 가 가능해집니다.
이번 문제는 그냥 말로 설명해도 될 꺼같아서 사진을 찍지 않았습니다~~~
0 개의 댓글