content 변수에 xss 와 같은 의도하지 않은 동작을 차단하는 html_purifier 함수가 붙은 것을 알 수 있다.
(http://htmlpurifier.org/)
우선 변경점이 if 조건문 안에 위치한 것을 알 수 있는데, 조건문을 보게되면 취약한 content 변수는 '추가질문' 상황에 사용되는 것을 알 수 있다.
추가 질문을 직접 사용해본 결과, 추가 질문을 사용할 때에는 맨 처음에 질문한 내용이 처음부터 글에 포함되는데, 이때 취약한 content 변수가 사용되게 된다.
질문 글 :
추가 질문 글 :
처음 질문한 글의 내용이 추가 질문을 할 때, 취약한 변수로 사용된다는 점을 이용하여서,
처음 질문 글의 내용에 xss 내용을 추가하여 추가 질문시에 xss가 발동되도록 페이로드를
구성한다.
시도해본 페이로드 :
스크립트 태그 사용
<script>alert('ez for me');</script>
자바스크립트 사용
<a href="javascript:alert('ez for me')">xss</a>
img 태그 사용
<img src="x">
이 중 img 태그를 사용하여서 xss에 성공하였다.