Reflected XSS into a JavaScript string with single quote and backslash escaped
Description
The website in this lab contains a reflected cross-site scripting vulnerability in the search query tracking functionality. The reflection occurs inside a JavaScript string with single quotes and backslashes escaped.
Reproduction and proof of concept
Enter a random alphanumeric string in the search box, then use Burp to intercept the search request and send it to Burp Repeater.
Note the random string has been reflected inside a JavaScript string.
Try sending the payload
test'payload
and observe that your single quote gets backslash-escaped, preventing you from breaking out of the string.Replace the input with the following payload to break out of the script block and inject a new script:
</script><script>alert(1)</script>
Verify the technique worked by right-clicking, selecting “Copy URL”, and pasting the URL in the browser. When you load the page it should trigger an alert.