반응형
Mission Description
Cross-site scripting isn't just about correctly escaping data. Sometimes, attackers can do bad things even without injecting new elements into the DOM.
--> XSS는 단순히 데이터를 올바르게 이스케이프하는 것이 아니다. 가끔 공격자들은 DOM에 새로운 요소를 주입하지 않고 나쁜 짓을 할 수 있다.
Mission Objective
Inject a script to pop up an alert() in the context of the application.
--> 애플리케이션의 내용에서 alert()를 팝업창에 띄우도록 스크립트를 주입해라
Solve
힌트를 보니 onclick을 이용하라고 해서 onclick에 대해서 검색해보았다.
onclick은 a href="" 대신 사용할 수 있는데 onclick은 클릭시 발생하는 이벤트이며 클릭시 자바스크립트를 수행한다.
즉 , a href의 속성을 onclick으로 바꾸고 자바스크립트인 alert("Hello")를 수행할 수 있게 하면된다. (Next에 링크를 걸어 놓은 것을 onclick 이벤트로 바꾸어 클릭하면 javascript 가 실행되게 만듦)
따라서 아래 코드를 url에 넣어 signup.html에 있는 next 값을 바꾸고 아무 값이나 입력해서 next를 클릭해주면 된다.
javascript:onclick='alert("Hello")' 를 next= 뒤에 입력한다.
반응형
'write-up > XSS-game write-up' 카테고리의 다른 글
XSS game level 6 - Follow the 🐇 (0) | 2021.07.19 |
---|---|
XSS game level 4 - Context matters (0) | 2021.07.19 |
XSS game level 3 - That sinking feeling... (0) | 2021.07.18 |
XSS game level 2 - Persistence is key (0) | 2021.07.18 |
XSS game level 1 - Hello, world of XSS (0) | 2021.07.18 |