1. 파일의 확장자를 확인하라
가장 기본적인 방법이다.
주소창에서 확인 하거나 페이지 속성 보기를 통해서 확장자를 확인하면 된다. 대부분은 여기에서 상황 종료 된다.
그러나,
어떤 사이트는 파일명을 기입하지 않는 경우도 많다. 예로 okjsp 사이트는 아래 처럼 링크주소에 파일명이 빠져 있다.http://www.okjsp.pe.kr/bbs?act=LIST&bbs=TOOL
이것은 해당 폴더의 Default 파일을 사용함으로써 파일명을 숨긴 것이다. 이런 경우 아래의 과정을 살펴 보면 된다.
2. 소스 보기 하라
사이트의 소스보기를 하면 html 로 랜더링된 소스코드를 볼 수 있다. 여기서 '찾기'를 통해 .asp 나 .jsp 등을 찾아 보도록 한다. 웬만한 경우 링크로 연결된 주소가 한 두개 이상은 찾을 수 있다.
그러나,
네이버 처럼 .nhn 이라는 자기 회사만의 고유한 확장자를 사용하는 경우도 있다.
사실 모든 웹 서비스 환경에서는 정해진 확장자(asp와 같은)만 사용하라는 법은 없다.
자신의 사용하고 싶은 확장자를 실행엔진에 연결(매핑) 해 주기만 하면 어떤 확장자라도 사용할 수 있는 것이다.
예로, .asp 확장자 대신 .mkex 를 사용하고 싶다면 IIS 설정에서 .mkex 에 C:\WINDOWS\system32\inetsrv\asp.dll 을 매핑시켜 주면 된다. (아파치 기반의 PHP 이면 httpd.conf 설정 파일 , JSP 이면 web.xml,apping.xml 을 통해서 특수 확장자 매핑이 가능하다) 이것은 IIS 뿐만 아니라 아파치등의 웹 서버에서도 가능하다
이런 경우 아래의 과정을 살펴 볼 수 있을 것이다.
참고> 위와 같은 매핑을 통해 ASP나 PHP 서비스를 html 확장자로도 할 수 있다.
php 기반 사이트에서는 이러한 설정을 가끔 볼 수 있다.
단, 일반 html 을 asp나 php 실행 엔진으로 매핑하면 동적 서버 프로그램이 적용되지 않은 html파일
(순수 client script ,html등) 까지도 매핑된 엔진을 통해 파싱되므로 성능상 좋지 않을 수 있다.
3. HTTP 패킷의 Header 정보를 살펴 보라
HTTP 의 응답 패킷의 헤더에는 웹 사이트가 구동되는 웹 서버 정보가 포함된다.
HTTP 패킷을 볼 수 있는 Tool 을 통해 Head 정보를 보면 아래와 유사하게 나온다.
(아래 그림은 Fiddler 이라는 툴로 본 헤더 정보이다)
아주 친절하게도 웹 서버 정보와 언어 정보가 나타난다.
단, X-Powered-By 는 안나오는 경우도 많다.
즉 웹 사이트의 웹 서버 정보는 반드시 나오지만 구현된 언어(및 환경) 정보는 안 나오는 경우도 있다.
즉 웹 서버 관리자가 보여주기 싫으면 안보여 질 수도 있다는 말이다.
이 경우에는 웹 서버의 종류로 유추 해 볼수는 있지만 섣부른 결론은 금물이다.
예로, IIS 에서도 PHP 를 돌릴 수 있기 때문이다.
'모의해킹 > 웹해킹' 카테고리의 다른 글
버프슈트 옵션설정 (0) | 2017.01.31 |
---|---|
파일 업로드 취약점 (0) | 2016.09.02 |