問題タブ [xxe]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - asp.net .asmx Web サービスの ishow XXE 脆弱性 - 外部 DNS
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 がリクエストに含まれていると、次のようになります。
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 脆弱性を修正するにはどうすればよいですか?
ありがとうございました
ジョン・ポー
php - XML 外部エンティティ (XXE) 攻撃の失敗
私のコードが XXE に対して脆弱ではない理由を教えてください。
コード:
テストケース 1:
結果 1:
ここまでは順調ですね。ただし、XML コードを挿入してローカル ファイルのコンテンツを取得しようとすると、次のようになります。
その後、何も印刷されません。「test.txt」は、私が攻撃を行ったphpファイルと同じレベルのファイル構造です。私が試してみました
としても
しかし、役に立たない。
test.txt:
試しました:
結果がありません。
ヒントはありますか?
@Paul Crovellaを反映して、ここに編集があります:
コードを CP 化すると、次の結果が得られました。
DOMDocument::loadXML(): I/O 警告: 外部エンティティ file:// のロードに失敗しました ファイル名へのフルパス
DOMDocument::loadXML(): エンティティ内のエンティティ ent の処理に失敗しました
DOMDocument::loadXML(): エンティティ 'ent' がエンティティで定義されていません
security - デモ XXE(XML External Entity) 攻撃 - Spring Boot
XXE 攻撃を実行したいのですが、このチュートリアルhttps://grokonez.com/java-integration/convert-java-object-intofrom-xml-spring-bootに従い、エンティティ インジェクションを使用して攻撃を試みました。
xxe.xml
そして直面しているエラー:
2 日間調査しましたが、不正なエンティティの解析を許可することはできません。