XXEとは
XMLの外部参照機能を使って、機密情報を含む内部ファイルを読み出す不正行為。
XXE応用編
機密情報の漏えいだけではなくて、ポートスキャンとかDoSとかいろいろとあるけど、このページでは省略。
XXEの対策
リンク集などを見てくれ
XXEと.NET Framework
XXEと.NET Framework (SgmlReaderDll.dll)
XXEと.NET Framework (SgmlReaderDll.dll)
XXEとActiveScript(VBScript)/(ClassicalASP/WSH)
XXEとJava
上記のリンクされたページで、各種実験で使用したXMLファイル
XMLファイル : c:\z\aa.txt
外部参照で読みだされるファイル
Hello
XMLファイル : in1.xml
外部参照のあるXML
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE foo [
<!ENTITY xxe SYSTEM "file:///c:/z/aa.txt">
<!ENTITY bar "alice">
]>
<xml>
&xxe; JaJaJaFa &bar;
</xml>
XMLファイル : in.xml
外部参照のない一般的なXML
<root>
<abc>xyz</abc>
<aaa><bbb>ccc</bbb></aaa>
</root>
リンク
- XXE (XML eXternal Entity) Attack
- XMLをparseするアプリのセキュリティ
- XMLをParseするアプリのセキュリティ(補足編)
- 属性値のXXE攻撃
- デベロッパーズコーナー:Javaプログラミングを極める「DoS攻撃への対策」(1)
- REXMLのDoS脆弱性
- System.Xml のセキュリティに関する考慮事項
- NIB: System.Xml のセキュリティに関する考慮事項
- Preventing XXE in PHP
- PHPプログラマのためのXXE入門
- XXE攻撃 基本編
- XMLプロセッサ Xerces 2
- XML External Entity (XXE) Processing
- XML と PHP のイケナイ関係 (セキュリティ的な意味で) Introduction of XXE attack and XML Bomb with PHP
- 【緊急リリース】すべてのバージョンの OpenPNE 3、 opOpenSocialPlugin、 opWebAPIPlugin における XML 外部実体参照に関する脆弱性対応のお知らせ (OPSA-2013-003)
- CakePHP 2.2.0-RC2 XXE Injection
- Zend Framework の XXE 脆弱性対策 (ZF2014-01) と zendframework/ZendXml のススメ
- XXE (Xml eXternal Entity) Attack
- How we got read access on Google’s production servers
- リクエストフォージェリを再考 – リクエストのインジェクションと考える
- XXEに関するKenji_sのブックマーク
- Java - javax.xml.parsers.DocumentBuilderFactory
- .NET Framework System.Xml.XmlDocument
- .NET Framework System.Xml.XmlDocument#XmlResolver
- .NET Framework System.Xml.XmlResolver
- .NET Framework System.Xml.XmlSecureResolver
- .NET Framework System.Xml.XmlUrlResolver
- .NET Framework System.Xml.XmlXapResolver
- .NET Framework System.Xml.XmlPreloadedResolver
SQL Server
XML のセキュリティに関する考慮事項
https://docs.microsoft.com/ja-jp/sql/ado/guide/data/xml-security-considerations?view=sql-server-2017
ADO
XML セキュリティに関する考慮事項
https://docs.microsoft.com/ja-jp/office/client-developer/access/desktop-database-reference/xml-security-considerations
LINQ to XML のセキュリティ (C#)
https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/concepts/linq/linq-to-xml-security
NIB: System.Xml のセキュリティ ガイドライン
https://docs.microsoft.com/ja-jp/previous-versions/ms172416(v=vs.110)
XMLDOM リファレンス
http://ash.jp/xml/dom/index.htm
resolveExternals Property
https://docs.microsoft.com/en-us/previous-versions/windows/desktop/ms762283(v=vs.85)