web-dev-qa-db-ja.com

C#(.NET)での安全でない逆シリアル化-識別およびテスト方法

私は、安全でないデシリアライゼーションと、それがJavaアプリケーションにどのように影響するかを説明します。

https://owasp.org/index.php/Top_10-2017_A8-Insecure_Deserialization

キャプチャされたトラフィックデータに次のパターンが含まれる場合、データがJavaシリアル化ストリームで送信されたことが示唆されます。

"AC ED 00 05" in Hex
"rO0" in Base64
Content-type = 'application/x-Java-serialized-object'

Java逆シリアル化攻撃を実行するBurp拡張機能:

https://github.com/NetSPI/JavaSerialKiller

https://owasp.org/index.php/Deserialization_of_untrusted_data

https://owasp.org/index.php/Deserialization_Cheat_Sheet#Java

私の質問は、.NETにも同様のパターンが存在するかどうかです。これに対するエクスプロイトをテストするためのツールはありますか?

以下の記事では、JSON deserialization flaw in BreezeJSON deserialization flaw in NancyFXおよびXML deserialization flaw in DotNetNuke

https://www.bleepingcomputer.com/news/security/severe-deserialization-issues-also-affect-net-not-just-Java/

私は、システムライブラリのXML外部エンティティ(XXE)インジェクションについて読んでいますが、.NETでの逆シリアル化については何も読んでいません。

https://owasp.org/index.php/XML_External_Entity_(XXE)_Prevention_Cheat_Sheet#.NET

2
Ogglas

安全でないデシリアライゼーションはJava特定の欠陥であり、すべての言語がこの種の脆弱性の影響を受けます。この2017ブラックハット会議をご覧ください: 13日の金曜日:JSON攻撃 = 、. Net JSONシリアライザーに焦点を当てています。

yoserial で開発をテストするための便利なツールを見つけることができます。

XXEに関しては、シリアライゼーションとは何の関係もありません。これら2つの脆弱性は、最新のOWASPのトップ10で明確に分離されています。

3
gfrancqu