Portswigger-Stored XSS into anchor href attribute with double quotes HTML-encoded

problem link

풀이

댓글 기능에 XSS 취약점이 있다. 댓글 작성자 이름을 클릭했을 때 alert이 뜨도록 하라.

포스트 페이지에 접속하면 자유롭게 입력할 수 있는 폼이 있다.

값을 입력하면 저장된 후 입력한 값이 반사되어 출력된다. 이름에는 a 태그로 링크가 걸리는데, href는 웹사이트로 등록한 주소가 걸린다.

href에는 javascript:alert(1) 과 같이 URL을 설정하면 스크립트를 실행할 수 있다.

웹사이트에 javascript:alert(1) 페이로드를 입력하면 문제가 풀린다.

이 취약점은 사용자가 입력한 값을 충분히 검증하거나 필터링하지 않고 저장한 뒤 그대로 반사하여 발생하였다. 화면에 띄우는 부분을(댓글 내용) HTML 인코딩 등으로 처리하였지만, 태그에 value로 들어가는 값은 javascript 형식 URL을 막지 않았기에 취약점이 발생하였다.


tags: writeup, xss, stored-xss, wstg-inpv-02, web hacking, a-tag