SQLインジェクションは、 サイバー攻撃 これは、SQLクエリでの入力検証の不備を利用します。 アプリケーションがデータベースへの SQL クエリで信頼できないユーザー入力を使用する場合、意図的に不正な形式のユーザー入力によってクエリが変更される可能性があります。 SQLインジェクション攻撃は、データベースのデータへのアクセス、変更、または削除に使用される可能性があります。
ユーザー入力に基づいて SQL クエリを実行するアプリケーションは、SQL インジェクション攻撃に対して脆弱である可能性があります。 たとえば、Webアプリケーションでは、SQLクエリを使用して認証プロセスを実装できます。 ユーザーがユーザー名を入力すると、アプリケーションはそのユーザー名を使用して、そのユーザーのアカウントのパスワードのハッシュを検索します。 ユーザーが指定したパスワードのハッシュがこのパスワードハッシュと一致する場合、ユーザーは正常に認証され、自分のアカウントにアクセスできます。
Webアプリケーションがユーザー名をSQLクエリに含める前に検証を実行しない場合、意図的に不正な形式のユーザー名がプログラムによって誤って解釈される可能性があります。 たとえば、SQL クエリでは、通常、コマンド内のデータを示すために一重引用符 (') または二重引用符 (") を使用します。 たとえば、ユーザー名 user に基づいてデータベース内の顧客のレコードを検索するコマンドは、次のようになります。 SELECT * FROM customers WHERE username="user".
コマンドに対してSQLインジェクション攻撃を実行する攻撃者は、入力に二重引用符を含めて、データの一部をコードとして解釈する可能性があります。 たとえば、ユーザー名について考えてみます user" OR "1"="1.
SQL クエリに挿入すると、クエリは SELECT * FROM customers WHERE username="user" OR "1"="1".このクエリでは、ユーザー名がユーザー指定の値と一致するレコードを検索する代わりに、2 つの条件のいずれかに一致するレコードが返されます。 1 つ目は、目的のテストです ユーザー名="ユーザー"これは、ユーザーのレコードを返します。
2 番目の条件はテストです "1"="1".これは常に true であるため、データベース内のすべてのレコードが返されます。 これにより、攻撃者は他のユーザーに関する機密情報を抽出したり、認証をバイパスしたり、別のユーザーとして認証したりする可能性があります。
SQLi攻撃は、さまざまな目的を達成するために使用でき、さまざまな方法で実行できます。 SQLi には、主に次の 3 つのタイプがあります。
SQLi攻撃は、SQLコマンドに信頼できないデータを使用する場合に、入力検証が不十分であることを悪用します。 多くのSQLi攻撃では、ユーザー入力内で一重引用符や二重引用符などの予期しない文字を使用します。
ユーザー提供のデータを SQL クエリに含める前に入力検証を実行すると、SQLi 攻撃の脅威を軽減するのに役立ちます。 たとえば、アプリケーションでは、英数字のユーザー名のみを許可するなど、ユーザー入力を特定の文字セットに制限したり、ユーザー入力に特定の文字が含まれないようにブロックしたりできます。 ただし、入力検証は重要ですが、SQLインジェクション攻撃から保護するには十分ではありません。 攻撃者は、予期しない文字の組み合わせを使用してブロックを回避することで、許可リストまたはブロックリストをバイパスできる可能性があります。
このため、企業は Webアプリケーションファイアウォール (WAF)または、理想的には、 Web アプリケーションおよび API 保護 (WAAP) を Web アプリケーションや SQL クエリを実行する API の前に配置します。 これらのソリューションは、SQLi を悪用しようとする悪意のある要求や、Webアプリケーション や API に対するその他の攻撃を特定してブロックするのに役立ちます。
SQLi 攻撃は、組織の アプリケーション セキュリティ (AppSec)です。 組織は、オンプレミスとクラウドの両方でインターネットに接続するアプリケーションとデータベースを保護できるセキュリティソリューションを必要としています。
チェック・ポイント CloudGuard AppSec アプリケーションがどのように機能するかを学習し、不正で悪意のある要求が脆弱なアプリケーションに到達するのを防ぐ自動化されたWAAP機能を提供します。 CloudGuard AppSecの詳細と、SQLiやその他の攻撃から保護する機能については、こちらをご覧ください eブック.あなたも大歓迎です 無料デモに申し込む CloudGuard AppSecの機能をご覧いただけます。