April 17, 2019

WebGoat write up(Cross-Site Scripting 13 See the comments below)

To comply with the rule, in this write up, some hints related to this challenge only will be mentioned.

룰을 준수하기 위해, 여기서는 챌린지와과 관련된 몇 가지 힌트만이 언급됩니다.

See the comments below.
아래 댓글들을 확인하라.

Add a comment with a javascript payload. Again … you want to call the webgoat.customjs.phoneHome function.

자바스크립트로 만든 페이로드가 포함된 댓글을 달도록 한다. 이 때 다시 한 번 "webgoat.customjs.phoneHome" 함수를 호출하도록 한다.

As an attacker (offensive security), keep in mind that most apps are not going to have such a straight-forwardly named compromise. Also, you may have to find a way to load your own javascript dynamically to fully achieve goals of exfiltrating data.

당신은 (공세적 보안 측면에서의) 공격자로서, 대부분의 애플리케이션들은 매번 동일한 방식으로 구축되어 있지 않다는 점을 기억해야 한다. 또한 많은 경우, 당신은 성공적으로 데이터를 추출하기 위해 자바스크립트 코드를 동적으로 불러오는 방법을 찾아야 할 것이다.

Watching in your browser’s developer tools or your proxy, the output should include a value starting with 'phoneHome Response is … ." Put that value in below to complete this exercise. Note that, each subsequent call to the phoneHome method will change that value. You may need to ensure you have the most recent one.

웹 브라우저의 개발자 모드나 프록시를 활용하라. 이번 챌린지를 클리어 하기 위해서는, 출력 결과에 "phoneHome Response is … ."라는 값이 포함되어 있어야 한다. 한 가지 주의할 점은 "phoneHome" 함수는 호출될 때마다 다른 값을 반환하는데, 가장 최근의 값을 제출해야 정답으로 인정된다.

the clue of Cross-Site Scripting 13 See the comments below

If you call the function mentioned in the passage together with a regular string, the comment will only show a plain string, and the script is invisible to the browser because it is interpreted and executed in JavaScript syntax. The feature of the called "phoneHome" function is to leave a random number on the console. You can check it in developer mode (F12) as the above image.

일반 문자열과 함께 지문에 나오는 함수를 함께 호출하면, 댓글에는 일반 문자열만 보이게 되고, 스크립트는 브라우저에서 해석 및 실행되는 자바스크립트 문법이므로 보이지 않는다. 호출하는 "phoneHome" 함수의 특징은 콘솔에 랜덤 숫자를 남기는데, 개발자 모드(F12)에 가면 위 이미지와 같이 확인할 수 있다.

the result of Cross-Site Scripting 13 See the comments below