asp.net asmx Web サービスに XML 外部エンティティの脆弱性が発見されました。
XML 外部エンティティ処理の脆弱性をチェックするために、burp スイートを使用して asp.net .asmx Web サービスをテストしています。参照: https://cheatsheetseries.owasp.org/cheatsheets/XML_External_Entity_Prevention_Cheat_Sheet.html#net
DTD がリクエストに含まれていると、次のようになります。
<!DOCTYPE soapenv:envelope PUBLIC "-//B/A/EN" "http://1234565.cigitalcollaborator.com">
cigitalcollaborator.com の DNS 要求が送信されます。これは、asmx Web サービスがリクエストで DTD を処理していることを示します。
.net バージョン 4.5.2 を使用しています。
このリンクによると、.net 4.5.2 以降では XXE 脆弱性を暗黙的にブロックする必要があります: https://www.owasp.org/index.php/XML_External_Entity_(XXE)_Prevention_Cheat_Sheet#.NET_4.5.2_and_later
しかし、そうではありません... この DNS ルックアップを取得します。
基礎となる .net フレームワークは、この asmx Web サービスの XML デシリアライゼーション/シリアライゼーションを処理しているため、ここで実際に修正するコードはありません。基礎となるフレームワークのどこかにあるため、動作を正しく変更することはできませんか?
ASMX Web サービスのこの XXE 脆弱性を修正するにはどうすればよいですか?
ありがとうございました
ジョン・ポー