본문 바로가기

Wargame(hacking)/PortSwigger

DOM XSS in innerHTML sink using source location.search

 

<문제>

 

https://portswigger.net/web-security/cross-site-scripting/dom-based/lab-innerhtml-sink

 

Lab: DOM XSS in innerHTML sink using source location.search | Web Security Academy

This lab contains a DOM-based cross-site scripting vulnerability in the search blog functionality. It uses an innerHTML assignment, which changes the HTML ...

portswigger.net

 

<풀이>

 

 

파라미터로 전달되는 search 창에 일반적인 <script>alert(1)</script> 코드를 입력하면, 필터링이 되는 듯보이기에, 

 <img src='a' onerror='alert(1)'> xss 코드를 대입해 주었습니다. 해당 코드는 HTML 이미지 요소를 생성하며, src ='a'는 이미지의 소스를 'a'로 설정합니다. 'a'는 올바른 이미지 URL이 아니므로 이미지를 로드하는 데 실패합니다. 

 

onerror='alert(1)' : onerror 이벤트 핸들러는 이미지 로드가 실패할 때 실행됩니다. 이미지 로드가 실패하기에 alert(1) 창이 아래와 같이 시행됩니다. 

 

 

 

 

https://velog.io/@cks3066/innerHTML-%EC%9D%80-%EC%95%88%EC%A0%84%ED%95%9C%EA%B0%80

 

[JavaScript]innerHTML은 안전한가?

innerHTML과 XSS에 대해서

velog.io