
pfSense CE 2.9.0-DEVELOPMENT – Mittel – Remote – XSS – protokolliert Filter-JSON als HTML
abraxaslabs.tech · github.com/abraxas · @abraxas_null · [email protected] · pfsense-logs-filter-xss
Klasse: XSS Reichweite: Remote
pfSense CE 2.9.0-DEVELOPMENT (9363ac5) - pfsense.org
status_logs_filter.php POST resolve= json_encode ohne JSON_HEX_TAG und mit Standard-Content-Type text/html.
| ID | noch keine CVE |
| Klasse | XSS |
| Reichweite | Remote (authentifizierte WebGUI, sofern nicht anders angegeben) |
| CWE | CWE-79 |
| CVSS | Mittel: 5.4 CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N |
| Produkt | pfSense CE |
| Betroffen | 2.9.0-DEVELOPMENT (9363ac5b8651a1c7a333180425ce7719070f95f9) |
| Auth | WebGUI-Sitzung mit page-diagnostics-logs-firewall |
| Lizenz | GNU Affero GPL v3.0 |
| Labor | nur 127.0.0.1 |
Ich habe den öffentlichen Master 9363ac5 gepinnt. Das Labor ist ein PHP-Gadget der gepinnten Sink, Loopback-HTTP auf 127.0.0.1:19130.
Serien-Artikel: https://abraxaslabs.tech/research/pfsense-ce-leftovers
| Methode | Sink | Berechtigung |
|---|---|---|
| POST status_logs_filter.php resolve= | json_encode als text/html | Integrität: Im Labor nachgewiesen: reflektiertes |
| derselbe Überrest | dieselbe Sink | Recon: Im Labor nachgewiesen: nicht escaptes Script-Tag in JSON-als-HTML. |
| derselbe Überrest | dieselbe Sink | Verfügbarkeit: Keine gezeigt. |
Erfordert: page-diagnostics-logs-firewall. CSRF-Magic bei POST, sofern nicht anders angegeben. WebGUI PHP-FPM läuft als root.
Erfordert: page-diagnostics-logs-firewall. CSRF-Magic bei POST, sofern nicht anders angegeben. WebGUI PHP-FPM läuft als root. CSRF-Magic bei POST, sofern nicht anders angegeben. WebGUI PHP-FPM läuft als root.
application/json plus nosniff. JSON_HEX_TAG. csrf-magic. SameSite=Strict. Unauth N/A.
Keine Diagnostics: Command, es sei denn, diese Seite wird ebenfalls gewährt.
cd lab
./run.sh
Loopback 127.0.0.1:19130. Compose-Projekt pfsense-logs-filter-xss. Witness PFSENSE-LOGS-FILTER-XSS-WITNESS. Nur Loopback: 127.0.0.1:19130. Compose-Projekt pfsense-logs-filter-xss. Witness PFSENSE-LOGS-FILTER-XSS-WITNESS. PHP-Gadget der gepinnten Zeilen. Der Stack wird nach dem Lauf abgebaut.
Letzte Zeile:
SUCCESS PFSENSE-LOGS-FILTER-XSS control-json-html=yes trigger-unescaped-script=yes PFSENSE-LOGS-FILTER-XSS-WITNESS
Content-Type application/json. json_encode JSON_HEX_TAG|JSON_HEX_AMP.
9363ac5b8651a1c7a333180425ce7719070f95f9