사이트에 접속하니 마이페이지, 공지사항 두 개의 페이지로 구성되어 있다. 우선 마이페이지부터 취약점이 있는지 확인하겠다.
마이페이지는 수정 기능을 제공하지 않는다. 그런데, 현재 user
파라미터 값이 양인모
로 설정되어 있으니, 이름을 수정하는 input
태그에 양인모
텍스트가 입력되어 있다.
소스 코드를 확인하니 placeholder
에 양인모
텍스트가 입력되어 있다. user
파라미터에 입력하는 값이 placeholder
에 반영되는 것으로 추측된다.
정확한 확인을 위해 queryString
값을 변경하겠다. reflected xss
로 변경하니 placeholder
에 reflected xss
데이터가 삽입되었다. 입력한 데이터가 브라우저에 반사되어 출력 되면 reflected xss
취약점이 발생할 가능성이 높다.
queryString
에 <"'>
특수 문자를 삽입하겠다. 삽입한 결과 필터링 되지 않고 브라우저에 출력 되므로 스크립트를 삽입해 alert()
띄우겠다.
queryString
에 xss"/><script>alert('reflected%20xss')</script>//
스크립트를 삽입하고 request
한 결과, alert()
가 실행된다.