WebGoat(웹고트) Exploit Hidden Fields 실습
(1) Window xp에서 http://victim:8080/WebGoat/attack 사이트에 접속합니다. (webgoat / webgoat)
(2) 목록에서 Exploit Hidden Fields를 찾아 이동합니다.
해당 페이지에서 사용자가 입력해야하는 값을 확인합니다. 물건을 구입하기 위해서는 모델명, 가격, 수량, 금액이 필요합니다. 그 중 사용자 입력이 필요한 값은 수량입니다.
(3) 사용자 입력값이 서버로 전달되는 과정을 확인합니다.
=> 개발자도구 또는 소스보기를 통해 확인 가능
=> 서버로 전달될 때 QTY=1&SUBMIT=Purchase&Price=2999.99로 전달
=> 입력창, 버튼, 히든필드 값이 서버로 전달되는데, 사용자 입력값(수량) 외에도 시스템이 가지고 있는 금액정보도 함께 전달
(4) Proxy를 사용하여 시스템이 갖고 있는 정보를 조작해보겠습니다.
(4)-1 바탕화면 > burpsuite 폴더 클릭 > start_burp.bat 파일 실행
(4)-2 시작 > 제어판 > 인터넷 옵션 > 연결 > LAN 설정 > 프록시 서버 설정
=> Window xp에서 발생하는 요청은 burp suite에서 실행한 프록시 서버를 통해서 전달되게 됩니다.
(4)-3 burp suite에서 Intercept is on으로 설정해주고 사이트에서 Purchase를 클릭합니다.
(4)-4 서버로 전달하는 요청 파라미터의 내용을 조작하여 서버로 전달해보겠습니다.
QTY 값을 100으로 설정하고 intercept is on을 클릭하여 off로 변경시켜줍니다.
(5) 결과확인
서버가 가지고 있던 금액은 물건 1개당 $2999.99 => 100개에 $299999.00
요청 파라미터를 통해 전달된 금액은 물건 1개당 $29.9999 => 100개에 $2999.99
=> 결과를 통해 클라이언트 브라우저에서 전달된 금액(바뀐 금액)을 계산에 사용하고 있는 것을 확인할 수 있습니다.