SQL インジェクション攻撃: それは何ですか?

(へ アレッサンドロルゴロ)
26/02/24

SQL インジェクションについて聞いて、それが何であるかを理解しようと約束したものの、理解する時間も意欲もなかったことが何度ありますか?

3 分ほどお時間をいただければ、簡単に説明させていただきます。

名前から始めましょう: SQLi、SQL インジェクション、あるいは完全には (可能な解釈の 1 つとして)、 「構造化クエリ言語のインジェクション」 これは、悪意のあるクエリを実行する、Web アプリケーションのデータベースに対する攻撃の一種です。完全を期すために、SQL はリレーショナル データベースとの対話に使用される標準言語であることを付け加えておきます。

しかし、それは何を意味するのでしょうか? あなたは言う。 

実際の例を見てみましょう。オンライン コマース サイトの Web ページを考えてみましょう。通常、そこでは購入する商品を検索して選択できます。多くの場合、検索ボックスに記号や特殊文字を含むテキスト文字列を入力できます。一部の文字は私たちにとって無害に見えるかもしれませんが、これはデータベースには当てはまらず、文字はまったく異なる方法で解釈されます。

SQLi 攻撃の被害者になった場合、何が起こる可能性がありますか?

残念ながら、何が起こる可能性もあります。

考えられるデータベース クエリの制御が正しくない場合 (または、依然として存在しない場合)、その中に含まれるデータが変更、削除、コピー、さらには暗号化される可能性があります。データベースからシステムの他の領域に移動することは難しくないため、時間と最小限のリソースと IT 知識のある攻撃者であれば、実際に多大な損害を与えることができます。

SQLi は最もよく知られた攻撃の 1 つであり、現在でも機能している攻撃です。主な原因は、Web ページのプログラミングが不十分であり、すでに述べたように、サイト ユーザーがリクエストとして入力できる内容に対して正しいチェックが実行されないことが原因です。

このタイプの攻撃は、次の記事のおかげで少なくとも 1998 年から公に知られていました。 「NT Web テクノロジーの脆弱性」 ハッカーであり世界セキュリティ専門家であるジェフ・フォリスタルの仮名であるレイン・フォレスト・パピーによって、Phrack 上でリリースされました。

深める:

- http://phrack.org/issues/54/8.html

- https://www.esecurityplanet.com/networks/how-was-sql-injection-discovered/

- https://owasp.org/www-community/attacks/SQL_Injection