wow webgame
[level 5]
처음 링크를 따라 가보면
이러한 인증창이 뜬다.
이것은 아파치 웹 인증(.htaccess)을 설정하면 나타나는 인증창이다.
아파치 웹 인증을 사용하려면 웹 서버설정 파일(httpd.conf)와 아파치 웹 인증 설정파일(.htaccess)을 작성하면 인증기능을 사용할 수 있다.
이것에 대해 간략하게 살펴보자
아파치 웹 인증 취약점 및 우회방법
아파치 웹 인증 설정파일(.htaccess)을 살펴보면 이런 부분이 있다. GET메소드와 POST메소드를 제한하겠다는 부분이다. 따라서 GET과 POST메소드를 제외한 메소드들 중 PUT과 OPTIONS 등을 사용하게 되면 인증을 우회할 수 있다.
PUT메소드는 파일업로드를 하기 위해 생겨난 것이지만 업로드 할 파일이 없는경우 GET과 같은 역할로 오작동 하게 된다.
OPTIONS메소드는 원래 하는 일이 허용하는 메소드를 출력하는 일을 한다. 그러나 이러한 정보를 악용하게 되자 본래의 역할이 차단되면서 오작동하게 되어 GET과 같은 역할을 하게 되었다.
풀어보자
원래 있던 GET메소드를 OPTIONS메소드로 바꿔서 요청을 해보자
그럼 Header부분에는 이렇게 200번의 정상적인 페이지가 떨어지게 되고
Body부분에는 key값이 뜨게 된다.
GET 메소드를 PUT메소드나 OPTIONS메소드로 변조하여 요청하면 결국 인증이 우회되어 접속할 수 있게 된다.
아파치 웹 인증에 관한 와우해커 자료
<<bypass_apache_web_authorization.pdf>>
결론 :
- 아파치 웹 인증(.htaccess)에 대해서 이해하자. (각각의 설정파일과 세부적인 내용들)
- HTTP Header의 각 전송 메소드들에 대해 정확하게 이해하자.