> For the complete documentation index, see [llms.txt](https://sayonara.gitbook.io/writeups/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://sayonara.gitbook.io/writeups/portswigger/xss/16-reflected-xss-with-some-svg-markup-allowed.md).

# 16) Reflected XSS with some SVG markup allowed

<div align="left"><figure><img src="https://1410593648-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FYI2noEqPw69jd0hR7Prp%2Fuploads%2FbvN0XLk6cxipvpQioodn%2Fimage.png?alt=media&amp;token=ae11a4d5-744c-49f3-886e-5a32e4b164a0" alt=""><figcaption></figcaption></figure></div>

#### Locate possible injection points

As usual the first step is to analyse the application, we have a search functionnality so let's search for random string and then open the developer tools and find where the user input is located in the html

<div align="left"><figure><img src="https://1410593648-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FYI2noEqPw69jd0hR7Prp%2Fuploads%2F7qRC8mfxCcKTKf2HXTnS%2Fimage.png?alt=media&amp;token=5b7dd96b-6a5a-4062-b1a6-8723fbe67d1b" alt=""><figcaption></figcaption></figure></div>

tags are blocked by the application

<div align="left"><figure><img src="https://1410593648-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FYI2noEqPw69jd0hR7Prp%2Fuploads%2FDfuhZtaR4ZyyrN9O37kl%2Fimage.png?alt=media&amp;token=a89cd357-6ba4-43d3-800e-409498e3c695" alt=""><figcaption></figcaption></figure></div>

let's use burp intruder to find all the allowed tags

<div align="left"><figure><img src="https://1410593648-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FYI2noEqPw69jd0hR7Prp%2Fuploads%2FfD0QdY8Zotvqw2jVjPn8%2Fimage.png?alt=media&amp;token=b2aecbb8-5352-474f-9b9d-b0103f3ac528" alt=""><figcaption></figcaption></figure></div>

now let's copy all the tags from the [portswigger xss cheat sheet](https://portswigger.net/web-security/cross-site-scripting/cheat-sheet)

<div align="left"><figure><img src="https://1410593648-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FYI2noEqPw69jd0hR7Prp%2Fuploads%2Fz3zLMk8sjxR3RoLOIZgV%2Fimage.png?alt=media&amp;token=76b582c1-20ad-4948-b4bc-fe185d794932" alt=""><figcaption></figcaption></figure></div>

<div align="left"><figure><img src="https://1410593648-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FYI2noEqPw69jd0hR7Prp%2Fuploads%2F70dg1kahuTrILCYUeb24%2Fimage.png?alt=media&amp;token=027ec91a-14fe-4583-aa64-95157e051fb8" alt=""><figcaption></figcaption></figure></div>

start attack and click on status to get all the 200 requests

<div align="left"><figure><img src="https://1410593648-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FYI2noEqPw69jd0hR7Prp%2Fuploads%2FQWQ7fev6yDABQb2PjNrP%2Fimage.png?alt=media&amp;token=4ae51817-6325-4fab-8866-aa1c0d25f911" alt=""><figcaption></figcaption></figure></div>

using the portswigger cheat sheet we 've found some xss payloads

<div align="left"><figure><img src="https://1410593648-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FYI2noEqPw69jd0hR7Prp%2Fuploads%2Fg8NuaRBZSL8mI07ZbiQd%2Fimage.png?alt=media&amp;token=14e9a980-9b67-43d7-8919-2c9a8e2fbc9f" alt=""><figcaption></figcaption></figure></div>

but before testing them we have to find allowed events first, using burp intruder again

<div align="left"><figure><img src="https://1410593648-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FYI2noEqPw69jd0hR7Prp%2Fuploads%2FxUXffMdJtmbjAYoJRrDw%2Fimage.png?alt=media&amp;token=f6c6b811-1352-4964-9cb4-d1c5f4c3b395" alt=""><figcaption></figcaption></figure></div>

now let's copy all the events from the [portswigger xss cheat sheet](https://portswigger.net/web-security/cross-site-scripting/cheat-sheet)

<div align="left"><figure><img src="https://1410593648-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FYI2noEqPw69jd0hR7Prp%2Fuploads%2F72idUqSyWxzZYXuqmTjK%2Fimage.png?alt=media&amp;token=a7a687ea-3ae0-4d6d-ab74-28a10628978d" alt=""><figcaption></figcaption></figure></div>

<div align="left"><figure><img src="https://1410593648-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FYI2noEqPw69jd0hR7Prp%2Fuploads%2F1R2iQi2GtpE2sKiZAtiH%2Fimage.png?alt=media&amp;token=f58cc1e4-09b9-45da-9dac-6110d91a8291" alt=""><figcaption></figcaption></figure></div>

now let's copy all the events from the [portswigger xss cheat sheet](https://portswigger.net/web-security/cross-site-scripting/cheat-sheet)

now click on start attack

<div align="left"><figure><img src="https://1410593648-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FYI2noEqPw69jd0hR7Prp%2Fuploads%2FEKZr0XOxMhrEFocNCiui%2Fimage.png?alt=media&amp;token=08d29871-bc8c-4936-a8a1-0affd23e6e78" alt=""><figcaption></figcaption></figure></div>

### <mark style="color:blue;">payload :</mark>&#x20;

```
<svg><animatetransform onbegin=alert(1) attributeName=transform>
```

<div align="left"><figure><img src="https://1410593648-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FYI2noEqPw69jd0hR7Prp%2Fuploads%2FFw38xvKd1JyXAQrKpdK9%2Fimage.png?alt=media&amp;token=6e52e263-a4bd-4ba6-a0bc-f13b6b6bafaa" alt=""><figcaption></figcaption></figure></div>

<div align="left"><figure><img src="https://1410593648-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FYI2noEqPw69jd0hR7Prp%2Fuploads%2F2wN5edFGH8FuFZzkzID0%2Fimage.png?alt=media&amp;token=853d9baf-0ce2-4b48-b619-d5099c3e6ce3" alt=""><figcaption></figcaption></figure></div>

and we have solved the lab

<div align="left"><figure><img src="https://1410593648-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FYI2noEqPw69jd0hR7Prp%2Fuploads%2F3WkwFylySWjgI34SVC4u%2Fimage.png?alt=media&amp;token=41ccba00-967f-435a-a647-24ebf0999e33" alt=""><figcaption></figcaption></figure></div>
