Stage 1
Neville의 연봉을 물어보고 있지만, option 태그 중에는 Neville의 항목이 없다.
명시적으로 하기 위해, option 태그 중 아무거나 골라 label을 Neville Bartholomew로 바꾸고
value를 하나씩 늘려보자. Neville의 ID는 112였다.
이렇게 하면, Neville의 정보를 볼 수 있다.
Stage 2
Moe Stooge가 볼 수 있는 결과만을 반환하도록 소스코드를 수정해야 한다.
소스코드를 확인하기 위해 이 문제의 경로로 가보면, employees.xml이라는 파일이 있다.
<Managers><Manager></Manager></Managers> 태그를 주목해야 한다.
현재 소스코드는 이렇게 되어 있는데, (XPath를 이용하는 것을 알 수 있다.)
27-31 라인을 아래와 같이 고치면 되겠다. 선택된 userId로부터, Managers > Manager 태그의 각 요소를 sb에 추가시킨다.
실제 서버의 소스코드를 수정한 후 제출하면, 해당 파일이 없다면서 오류를 출력한다.
DOM 문제때와 유사하게 경로를 만든 후, 파일을 옮기면 되겠다.
이렇게 파일을 옮긴 후 다시 제출을 누르면
축하 메시지를 볼 수 있다.
'[Wargame Write-up] > WebGoat' 카테고리의 다른 글
[WebGoat] [Malicious Execution] Malicious File Execution (2) | 2017.01.12 |
---|---|
[WebGoat] [Access Control Flaws] Bypass a Path Based Access Conrol Scheme (0) | 2017.01.10 |
[WebGoat] [AJAX Security] LAB: DOM-Based cross-site scripting (0) | 2016.12.29 |
[WebGoat] [Injection Flaws] Log Spoofing (0) | 2016.12.29 |
[WebGoat] [Improper Error Handling] Fail Open Authentication Scheme (0) | 2016.11.15 |