WebGoat(웹고트) Bypass a Path Based Access Control Scheme
(1) Window xp에서 http://victim:8080/WebGoat/attack 사이트로 이동하여 목록에서 Bypass a Path Based Access Control Scheme을 찾아 이동합니다. (webgoat / webgoat)
(2) 사용자 값이 서버로 전달되는 과정을 확인합니다.
=> 사용자 화면에서 입력 : AccessControlMatrix.html
=> POST 방식으로 attack?Screen=51&menu=200 ...(요청헤더)...
File=AccessControlMatrix.html&SUBMIT=View File로 전송합니다.
=> 파일경로가 노출되어 있고, 사용자가 선택한 파일명이 그대로 전송되고 있음을 볼 수 있습니다.
(3) 공격자가 원하는 내용을 얻기 위해 값을 조작합니다.
[공격자가 원하는 내용]
C:\FullstackLAB\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\conf\tomcat-users.xml 파일의 내용이 출력되도록 입력값을 변조해서 전달해보겠습니다.
(3)-1 프록시를 이용하여 서버로 이동하기 전에 값을 변경합니다.
View File를 클릭하기 전에 burp suite에서 Intercept is on으로 설정해주고 View를 클릭합니다.
(3)-2 해당 화면을 Repeater로 보내고 Intercept is off로 변경해줍니다.
(3)-3 Repeater로 이동하여 File명을 조작해줍니다.
입력 > File=../conf/tomcat-users.xml(실패)
입력 > File=../../conf/tomcat-users.xml (실패)
입력 > File=../../../conf/tomcat-users.xml (실패)
입력 > File=../../../../conf/tomcat-users.xml (성공)
(4) 사이트에서 확인하기 위해 프록시-Intercept를 이용하여 서버로 이동하기 전에 값을 변경합니다.
(4)-1 Intercept is on으로 설정 후 파일을 선택하고 View File을 클릭합니다.
(4)-2 File=../../../../conf/tomcat-users.xml로 변경하고 Intercept is off로 변경합니다.
(5) 실행 결과 확인
=> 공격자가 원하는 파일 내용이 출력되는 것을 확인할 수 있습니다.
=> 공격자가 원하는 것: tomcat-user.xml 파일