SQL インジェクション (SQLi) は、その 1 つです。オンラインの脅威最も一般的なもの。実際、OWASP (ソフトウェア セキュリティの向上に特化した非営利団体) は、あらゆる種類のインジェクションを最初にリストしており、SQL インジェクション (SQLi) がアプリケーション セキュリティの最大のリスクとなっています。ここで次のような疑問が生じます。自分を守るにはどうすればいいですか?

ペネトレーション テスト (略して「ペネトレーション テスト」) には、ソフトウェアの弱点を特定するためにソフトウェアへの攻撃をシミュレートすることが含まれます。サイバー犯罪者によって脆弱性が発見され、使用される前に、脆弱性を検出するのに役立ちます。当時は長くて困難なプロセスでしたが、ツールのおかげで今でははるかに簡単になりました。

侵入テストツール– 侵入テスト ツールとも呼ばれます – は、攻撃をシミュレートし、ソフトウェアの脆弱性を検出するプロセスを自動化および高速化するのに役立ちます。これらは、倫理的なハッカーがソフトウェアをより適切かつ効率的なスタイルでテストするのに役立ちます。そうは言っても、SQL インジェクションをテストするのに最適なテスト ツールは何かを見てみましょう。その前に、SQL での基本的なインジェクションを簡単に見てみましょう。

SQL インジェクション (SQLi) とは何ですか?

SQL インジェクションは、データベースを攻撃するために使用されるコード インジェクション手法です。すべてのソフトウェアの背後にはデータベースがあるため、データベースが侵害されるとソフトウェアが侵害されてしまいます。これは非常に重要です。SQLi を使用すると、アプリケーションのセキュリティ対策をバイパスできるたとえば、特権メンバーが銀行口座所有者のデータを更新できるログイン フォームなどです。

SQL インジェクションは通常、ユーザーに入力を求め、ユーザーが知らないうちにデータベースに対して実行する SQL ステートメントを入力するときに発生します。たとえば、ユーザーにユーザー名を尋ね、次のように入力したとします。«1051 OR 1 = 1»、これはインジェクション攻撃です。

実際に見てみましょう。ソフトウェアが次のクエリを使用してユーザーの身元を確認するとします。「SELECT * FROM User_Data WHERE User_ID =」ここに入力してください」。次に、彼が「」と入力すると、1051 OR 1 = 1"、クエリは " になります。SELECT * FROM User_Data WHERE User_ID = 1051 OU 1 = 1」。という程度に」1 = 1» が常に true であり、OR で結合されると、クエリは true になります。したがって、ユーザーが正当でない場合でも、そのユーザーは有効であると識別されます。

解決策は何ですか?推奨される解決策は、すべての入力を検証し、パラメーター化されたクエリと準備されたステートメントに切り替えることです。しかし、ソフトウェアでこれらのテクニックの 1 つを誤って見逃してしまう可能性がありますよね?これはバグまたは脆弱性として知られており、攻撃を防ぐためには発見して修正する必要があります。

もっと脆弱性を見つける方法?ここにツールがあります侵入テスト便利です。ソフトウェアのバグを見つけて修正するのに役立ちます。そして、サイバー攻撃を防ぐ唯一の方法は、ソフトウェアのバグや欠陥を修正することです。ということで、見てみましょう最高の侵入テストツール

SQLi脆弱性スキャンツール

1.オワスプザップ

OWASP Zed Attack Proxy (ZAP) は、最も人気のある無料のセキュリティ ツールの 1 つです。これは、開発およびテスト段階で Web アプリケーションの脆弱性を検出するのに役立つオープンソース ソフトウェアです。経験豊富なテスターの要求を満たす多くの高度な機能を備えています。

これは、Web アプリケーション (デスクトップ ソフトウェアやモバイル アプリケーションではない) をテストするために特別に設計されています。さらに、次のように記述されたコードベースのおかげで、すべての一般的なプラットフォーム (Docker を含む) で動作します。ジャワ。その最も興味深い特徴は、拡張可能で柔軟であることです。特別なニーズを満たすために無料のアドオンを使用できます。

そうは言っても、バグの検出に役立つ機能をいくつか見てみましょう。

  • オプションが含まれています自動分析特定の Web サイトでの自動起動テストと、あらゆる種類のセキュリティ脆弱性のテストを行います。
  • の特徴モードヘッドレス自動化ソフトウェアを開発します。
  • ほぼすべての機能を制御する API 機能。

2.w3af

「Web アプリケーション攻撃および監査プラットフォーム」の略である w3af は、Web アプリケーションのセキュリティを確保するために設計されたセキュリティ テスト プラットフォームです。これは、Web アプリケーションのセキュリティ脆弱性を検出して悪用するのに役立つ、もう 1 つの無料のオープンソース脆弱性テスターです。クリックインジェクションやSQLインジェクションなど200以上の脆弱性を検出できる能力を誇る。

以下に、無料ツールであることを考慮すると素晴らしい機能リストを見てみましょう。

  • サポートオートメーション独自のスクリプト セット (Windows バッチ スクリプトと同様、各行にコマンドが記載されたテキスト ファイル) を使用します。
  • サポートさまざまな種類のロギング– コンソール、テキスト ファイル、さらには電子メール レポート – 将来の自動化ツールが結果を知るのに役立ちます。
  • をサポートします。ファジングエンジンHTTP リクエストのほぼすべての部分にペイロードを挿入できます。設定ページからカスタマイズすることもできます。
  • サポートツールエクステンションプラグイン (スクリプトパイソン)。

3. SQLマップ

オープンソースの侵入テスト ツールである sqlmap は、SQLi のバグを見つけて悪用するプロセスを自動化します。強力な検出エンジンが付属しており、専門の侵入テスターに​​超音速機能を提供します。さらに、データベース フィンガープリントやデータ オーバーフェッチからデータベース オペレーティング システム データへの低レベル ファイル システム アクセスまで、さまざまなスイッチが統合されています。

これはほんの始まりにすぎません。その機能のリストは膨大なので、最も優れた機能を見てみましょう。

  • 最も一般的なデータベースをサポート、IBM DB2、Microsoft Access、Microsoft SQL Server、MySQL、Oracle、PostgreSQL、SQLite には対応しません。
  • すべての主要な注入技術のサポートつまり、サブタイプ (エラーベースの SQLi およびユニオンベースの SQLi) を含むクラシック SQLi、そのサブタイプ (ブールベースのブラインドおよびタイムベースの SQLi) を含むブラインド SQLi、SQLi ストライプおよびスタックされたクエリに基づく SQL インジェクションを除きます。
  • パスワードハッシュタイプの認識をサポートそして彼らの決意。
  • 内部検索をサポート設定に従ってテーブルを空にします。
  • コマンドフルフィルメントをサポート■ 基礎となるオペレーティング システム上で動作し、データベースがサポートされている場合は標準出力を受け取ります。

これらは、Web アプリケーションの SQL インジェクションの脆弱性を検出する侵入テスト ツールです。テストできるため、OWASP ZAP から始めることをお勧めします。ウェブサイト脆弱なリンクやページについて通知します。その後、これらのリンクまたは Web ページにある他のツールを使用して SQLi のバグを検出できます。最後に、セキュリティ上の理由から、これらの脆弱性を修正する必要があります。