홈페이지 취약점 분석 이야기 파일 지도 사진 깨알






>> 목록보이기
#DVWA 저장형 XSS #웹취약점스캐너 #owasp-zap

게시판에 대한 웹취약점스캐너 사용시의 문제점

상용 웹취약점스캐너는 매우 정교하다. 공개용 스캐너에 비해서 엄청난 흔적을 남긴다. 공개용 스캐너는 정교하지 못하나 그래도 많은 흔적을 남긴다. 웹 취약점스캐너를 이용한 자동점검은 편리한 면도 있지만 경우에 따라서는 돌이킬 수 없는 서비스 장애를 초래하기도 한다.

어느 홈페이지를 점검할 때의 일이다. 2003년도에 개발되어 10여년 이상 서비스중인 상태였다. 이 홈페이지를 대상으로 일반 사용자로 로그인한 상태에서 상용 스캐너를 구동하여 취약점 점검을 시작하였다. 몇 시간 후에 웹브라우저로 접속했더니, 게시판의 모든 제목과 본문이 사라져버렸다. 게시물 자체가 삭제되지는 않았다. 원인을 알아봤더니 권한인증 취약점이 있었다. 제목/본문 삭제 기능을 GET 방식의 링크로 제공하고 있었다. 그런데 - 접속자의 권한을 전혀 확인하지 않아서 - 제목이나 본문을 누구나 삭제할 수 있었다. 때문에 스캐너가 URL에 접근하는 순간 제목과 본문이 사라지는 기현상이 벌어졌던 것이다.

사라진 제목과 본문을 일부 복구하는 데 사흘 이상이 걸렸다. 구글 검색 기능을 이용하여 웹캐쉬로부터 제목과 본문을 복사하여 홈페이지 운영자에게 전달했다. 약 70% 정도만을 복구할 수 있었다. 이 예에서 알 수 있듯이, 운영중인 서비스에서 로그인 권한을 준 상태에서 스캐너를 돌리면 안된다. 반드시 해야 하는 경우라면 웹서버와 DB를 확실하게 백업해두어야 한다.

취약점 스캔의 결과가 서버에 저장되는 경우에는 매우 조심해야 한다. 물론 개발서버라면 이미 백업본이 있을 것이므로 모든 권한을 주어서 취약점 스캔을 할 필요가 있다.

Damn Vulnerable Web Application(DVWA)의 저장형 XSS 실습문제를 대상으로 이러한 사례를 살펴보자. 이 사례에서는 방명록에 스캐너의 결과가 어떻게 남겨지는 수 살펴볼 수 있다.

DVWA 저장형 XSS 실습문제에서의 사례

DVWA 웹해킹 훈련장의 저장형 XSS(Stored XSS) 실습문제를 대상으로 한 사례이다. OWASP-ZAP의 Active Scan 기능을 사용하기 위해서 Firefox 환경설정에서 OWASP-ZAP을 HTTP 프록시로 연결한다. DVWA 훈련장의 주소는 http://192.168.189.246/이었다. Firefox로 접속 후 admin/password으로 로그인한다. 그리고, "DVWA Security" 항목에서 "Security Level"을 High 로 변경한다.

DVWA stored xss (high level) guestbook input
[ DVWA 저장형 XSS (high level) 방명록 입력 ]

DVWA stored xss (high level) guestbook input result
[ DVWA 저장형 XSS (high level) 방명록 입력결과 ]

DVWA stored xss (high level) guestbook active scan by owasp-zap
[ DVWA 저장형 XSS (high level) 방명록 대상 OWASP-ZAP Active Scan ]

DVWA stored xss (high level) guestbook active scan by owasp-zap
[ DVWA 저장형 XSS (high level) OWASP-ZAP active scan 결과 - 매우 많은 흔적 ]

로그인한 상태에서 OWASP-ZAP의 Active Scan 기능을 이용하면 OWASP-ZAP이 동일한 권한으로 수많은 작업을 수행한다. 접근하는 기능이 서버에 영향을 주는 작업이라면 그 흔적이 누리집에 쌓이게 된다. 위의 사례에서 볼 수 있듯이 작업이 끝난 후에 흔적을 지우려면 매우 힘든 작업이다. 때로는 관리자 권한이 필요할 경우도 있어서 서비스 운영자에게 부담을 줄 수도 있다.

따라서 서비스가 운영중인 경우에는 웹취약점스캐너를 로그인한 상태에서 실행하는 것은 추천하지 않는다.

[처음 작성한 날: 2016.12.28]    [마지막으로 고친 날: 2016.12.31] 


< 이전 글 : 저장형 XSS 공격을 이용한 홈페이지위변조 공격 사례 (2016.12.31)

> 다음 글 : DBMS Fingerprinting (데이터베이스 관리시스템 탐지) (2016.12.22)


크리에이티브 커먼즈 라이선스 이 저작물은 크리에이티브 커먼즈 저작자표시 4.0 국제 라이선스에 따라 이용할 수 있습니다.
잘못된 내용, 오탈자 및 기타 문의사항은 j1n5uk{at}daum.net으로 연락주시기 바랍니다.
문서의 시작으로 컴퓨터 깨알지식 웹핵 누리집 대문
 __
/ PHP는 성숙되지 않은 아마츄어에 의해  \
| 눈에 띄게 저질러지는 작은 악이라면,  |
| Perl은 숙련되었지만 비정상적인  |
| 프로들에 의해 눈에 띄지 않게  |
| 저질러지는 커다란 악이다.  |
|  |
\ - Jon Ribbens, 개발자  /
 --
  \
   \          .
       ___   //
     {~._.~}// 
      ( Y )K/  
     ()~*~()   
     (_)-(_)   
     Luke    
     Skywalker
     koala   
.. -- -- | - .. .... | ... / .. .../ ... {] . .. .. .. ..| ...... .../ .../ .. ...... ... ... ] .. [ .../ ..../ ......./ .. ./// ../ ... .. ... .. -- -- | - .. .... | ... / .. .../ ... {] . .. .. .. ..| ...... .../ .../ .. ./// ../ ... .. ... ...| ..../ ./ ... / ..| ....| ........ / ... / .... ...... ... ... ] .. [ .../ ..../ ......./ .....| ..../ ./ ... / ..| ....| ........ / ... / .... ...| ..../ ./ ... / ..| ....| ........ / ... / .... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .