본문 바로가기

[Wargame Write-up]/WebGoat

[WebGoat] [AJAX Security] LAB: Client Side Filtering

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 문제때와 유사하게 경로를 만든 후, 파일을 옮기면 되겠다.




이렇게 파일을 옮긴 후 다시 제출을 누르면




축하 메시지를 볼 수 있다.