WebKnight의 로그를 분석하는 방법이다. WebKnight의 로그는 기본 적으로 설치폴더\Log에 남으며, 파일명은 yy.mm.dd.log 로 남는다. 만약 IIS 6라서 Per Process Logging을 활성화 하였다면 설치폴더\Log\w3wp_process_pid에 남는다

각 로그는 다음과 같은 형식으로 이루어져 있다. 꼭 알아두어야 나중에 고생 안한다.

발생시간; 발생서비스; 발생 부분; 클라이언트IP; ; 전송방식 ; 입력된부분; 처리 ; 사유 ; 상태

예를 들면 다음과 같다.

19:49:40 ; W3SVC4 ; OnPreprocHeaders ; 333.333.333.333 ;  ; GET ; /_vti_bin/owssvr.dll ; BLOCKED: '/_vti_bin' not allowed in URL ; UL=1&ACT=4&BUILD=6551&STRMVER=4&CAPREQ=0 ; HTTP/1.1 ; ASPSESSIONIDAQTTDBAD=FEJLIGOBPEOEBCCCACIOFHHN

;로 나줘져서 보기가 좀 그래서 그렇지 정리해서 보면 정말 쉽다. 위 문장을 잘 보면 왜 막았는지 기록이 남는다. 바로 /vti_bin 을 호출했기 때문에 BLOCKED된 것이다. 그러면 다음 예를 보자.

03:03:20 ; W3SVC4 ; OnPreprocHeaders ; 333.333.333.333 ;  ; GET ; /notice/view.asp ; pid=284%20%20and%20exists%20(select%20*%20from%20sysobjects)%20-- ; BLOCKED: possible SQL injection in querystring ; HTTP/1.1 ; ASPSESSIONIDAQTTDBAD=IGNHIGOBELCAHABDIMNDPAOJ

거의 맨 끝에 BLOCKED: possible SQL injection in querystring 이라고 되어 있다. 아.. 저것이 바로 SQL Injection공격의 하나다. 이제 config.exe를 실행해서 로그와 맞는 SQL Injection이 어느 것인지를 확인해보도록 한다. 해당 내용을 보면 와 닫는 것이 바로 select, from, sysobjects의 3가지 부분이다. 이제 감을 잡았다면 처리를 한 것이다.

만약 위에 남은 로그가 정상적이였다면 해당 부분에 가서 지워주자. 로그를 보는 방법은 끝났다.... 일단은 행복하다. 이제 로그가 남도록 기다리며 잠이나 자자.

나머지 내용은 다음 문서로 이어집니다.

참고 자료
- UrlScan : http://www.microsoft.com/technet/security/tools/urlscan.mspx
- WebKnight : http://www.aqtronix.com/?PageID=99

PS. 본 문서는 WebKnight 1.3버전을 기준으로 작성되었습니다.
Posted by NTFAQ

트랙백 주소 :: http://ntfaq.co.kr/trackback/3772 관련글 쓰기

  1. Subject: webknight

    Tracked from ^^blog of bllong ^^ 2007/07/30 11:33  삭제

    webKnight2.0...

댓글을 달아 주세요