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






>> 목록보이기
#웹해킹 실습 #OWASP WebGoat #실습설명서 #HTML 소스내 중요정보 노출 #HTML소스 #HTML주석

WebGoat HTMTL 소스내 중요 정보 노출 실습설명서

이 문서는 WebGoat 7.0.1의 "Code Quality" > "Discover Clues in the HTML"의 실습 설명서이다. HTML 소스 내에 중요한 정보들이 노출되는 경우가 종종 있다. 개발이 끝난 서비스에서 주요 주석은 제거해야 하지만 이 과정을 잊어먹을 때 주로 발생한다.

WH-WebGoat-7.0.1 웹해킹 훈련장을 구동한다. 구동에 관해서는 WH-WebGoat-7.0.1 라이브 ISO 문서를 참조한다. 여기서 WebGoat 훈련장의 IP주소는 192.168.189.238이다.

WebGoat 실행이 완료되면 파이어폭스(FireFox) 웹브라우저로 훈련장에 접속한다. 훈련장 URL은 http://192.168.189.238:8080/WebGoat/이다.

firefox http://192.168.189.238:8080/WebGoat/

Code Quality: Discover Clues in the HTML 공략

WebGoat 훈련장에 로그인하면 - 영문으로 - WebGoat 누리집을 사용법이 나온다. 왼쪽에 설명이나 기초적인 설명, 각종 취약점 실습 목차가 나온다. 오른쪽 중간 윗쪽에는 자바소스(Java Source), 답안지(Solution), 실습계획(Lesson Plan), 귀띔(Hints), 실습 재시작(Restart Lesson) 등의 단추가 있다. 이 단추들을 활용하면 문제풀이와 소스 수준의 취약점 조치방안 이해에 도움이 된다.

Code Quality: Discover Clues in the HTML 문제에 접속하면 로그인 화면이 보인다. 과제의 목표는 admin으로 로그인해야 하는 것이다.

WebGoat HTML Clue 실습: 로그인 페이지
[ Code Quality: Discover Clues in the HTML 접속 화면 ]

홈페이지만을 보아서는 admin의 비밀번호를 알 수가 없다. 웹취약점 분석의 가장 기본은 HTML 소스 보기라고 할 수 있다. 웹 브라우저에서 HTML 소스를 살펴보자.

WebGoat HTML Clue 실습: 내용 선택
[ Code Quality: Discover Clues in the HTML 로그인 관련 부분 선택 ]

파이어폭스에서 로그인 관련 부분을 모두 선택한다. 오른쪽 마우스 버턴을 누르면 메뉴가 뜬다. 이 중에서 "View Selection Source"를 선택한다.

WebGoat HTML Clue 실습: HTML source
[ Code Quality: Discover Clues in the HTML 로그인 관련 소스 보기 ]

"View Selection Source" 선택 후 보이는 HTML 소스에서

<-- FIXME admin:adminpw -->

라는 HTML 주석이 보인다. 아마도 홈페이지 관리자 계정일 것이다. 개발자는 개발이 끝나는 시점에서 이를 수정하려고 하였으나 지우지 못한 실수를 범한 것으로 보인다.

HTML 소스를 보는 방법은 여러가지 방법이 있다. HTTP 프록시를 통해서 HTTP 통신 전체를 살피는 것이 가장 확실한 방법이다. 그러나 HTTP 통신 내용을 보는 과정은 매우 방대한 작업이라서 중요한 부분만을 발췌해서 보는 경우가 대부분이다. Firebug를 이용해서 볼 수도 있고 이 설명서에서 처럼 Firefox에서 필요한 부분만을 선택하여 HTML 소스를 볼 수도 있다.

WebGoat HTML Clue 실습: 로그인 페이지
[ Code Quality: Discover Clues in the HTML, admin 로그인에 성공 ]

admin:adminpw로 관리자 로그인에 성공하였다.

HTML 소스 내에서 중요한 정보를 찾는 경우는 매우 흔하다. 일부 취약한 웹 어플리케이션에서는 자바스크립트 소스내에 게시물의 비밀번호가 노출되는 경우도 종종 접하게 된다. 모든 HTML 소스를 살펴보기는 어렵지만, 사용자의 입력을 처리하는 부분의 HTML 소스는 반드시 살펴보는 것이 좋다. 개발자의 부주의함 때문에 중요정보가 노출되는 곳은 주로 HTML 주석, Javascript, 쿠기(cookie) 등이다.

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


< 이전 글 : WebGoat, Authentication Flaws: Multi Level Login 2 (2016.12.09)

> 다음 글 : WebGoat XSS: Phishing with XSS (2016.12.11)


크리에이티브 커먼즈 라이선스 이 저작물은 크리에이티브 커먼즈 저작자표시 4.0 국제 라이선스에 따라 이용할 수 있습니다.
잘못된 내용, 오탈자 및 기타 문의사항은 j1n5uk{at}daum.net으로 연락주시기 바랍니다.
문서의 시작으로 컴퓨터 깨알지식 웹핵 누리집 대문