ファジングの研究をしています。タイトルの質問に対する答えを知りたいのですが。 cvedetailsは、脆弱性について次のカテゴリを使用します。
Bypass a restriction or similar
Cross Site Scripting
Denial of service
Directory Traversal
Execute arbitrary code on vulnerable system
Gain Privileges
Http Response Splitting
Memory Corruption
Obtain information
Overflow vulnerability (includes stack and heap based overflows and other overflows)
Cross site request forgery(CSRF)
File Inclusion
Sql Injection
私が知りたいのは次のことです:ソフトウェアのテストはファジングと見なすことができますかたとえば、sqlmap、havij、sqlninjaを使用するWebアプリケーション(CMSシステムなど)でSQLインジェクションを探している場合、ファジングとして分類できますか?反対に、すべての論文でファジングはバッファオーバーフローを探すときの参照にすぎないためです。
だから私は次のことを求めていると思います:自動化されたツールで脆弱性を発見すると、ファジングとして分類できますか?
前もって感謝します
簡単に言えば、いいえ。
ここで長い答え: ファジングの起源 (またはファズテスト)は、ランダムデータまたはわずかにランダムなデータを送信しています(つまり、特定のフォーマットに固執するか、有効なものを変更しています)。
ファジングの目的は通常、アプリケーションのクラッシュを引き起こすことです。次に、このクラッシュをデバッガーまたはメモリ監視ツール(Valgrindなど)で分析して、メモリ破損の脆弱性がトリガーされたかどうかを確認し、修正(または悪用)します。
ファジングを使用すると、無効な入力のlotsでアプリケーションを起動し、既知のクラッシュが発生したときにアプリケーションの詳細な分析を延期できます。
ファズテストとWeb脆弱性スキャナーの使用はどちらも、フィールド自動化された脆弱性テストの手法であるという共通点があります。ただし、Webスキャナーは、非常に戦略的で高度な攻撃を使用して特定の脆弱性を検出します。さまざまな仮定、Webアプリの入出力処理の操作。 Fuzzersはそれほどスマートである必要はありません(もちろん可能ですが)。
ああ、これはそれほど重要ではないかもしれませんが、たとえば、sqlmapはSQLインジェクションの欠陥をスキャンするだけでなく、それらを悪用する際に非常にスマートな仕事をします。