新・元地方の中規模印刷会社で苦悩するWebデザイナー改めWebディレクターの日記

自由な20代、窮屈な30代を経て、遂に40代になっちまったWebディレクター&パソコン講師の覚書と思う言(こと)。略称【ちほちゅう】

*

「SQLインジェクション」とはどんな意味?

   

  • このエントリーをはてなブックマークに追加

1年以上前の記事です。内容が古い可能性があります。

これは、Webサーバーへの攻撃方法ですね。そこまでは分かります。
でも、どういった方法でどういった攻撃をするのか? そして、どうやったら防げるのかは分かりません。
そこで、調べてみました。

【改訂第3版】 SQLポケットリファレンス (POCKET REFERENCE)【改訂第3版】 SQLポケットリファレンス (POCKET REFERENCE)
著者:朝井 淳
販売元:技術評論社
発売日:2009-04-29
おすすめ度:5.0
レビューを見る

スポンサーリンク
 

その前にSQL(エスキューエル、シークェル)とは何ぞや?
これは、データベースとデータをやる取りする際の言語だと思っておけば問題ないでしょう。

SQLインジェクション – Wikipedia

アプリケーションが想定しないSQL文を実行させることにより、データベースシステムを不正に操作する攻撃方法(中略)
アプリケーションが入力値を適切にエスケープしないままSQL中に展開することで発生する。(中略)
入力値を適切にエスケープすることで防ぐことができる。

と、Wikipediaだけで解決してしまいました。

つまり、入力値にエスケープ文字を含めた「’ OR ‘t’ = ‘t」なんて文字列を入れると「’t’ = ‘t’」が抽出条件となるため全レコードが選択されてしまう。
と、こういった攻撃方法らしい。
ただ、これだけで何ができるのかは不明。

そこで、もうちょっとだけ調べてみる。

今夜分かるSQLインジェクション対策 - @IT

フォームから渡された値の特殊文字をエスケープしたり、PHPのmagic_quotes_gpcといった自動エスケープ機能をオンにするだけで対策したつもりになっていないだろうか。

さっきまで思ってました。

 フォームに入力可能な部分だけが対策個所ではない。不正な入力の可能性を考える必要があるのは、GETやPOSTなどのクエリーやCookieの値、 HTTPヘッダなど、HTTP経由で送られてくるもの“すべて”と、それに加えてデータベースやファイルなどに保存されたデータを呼び出す際にも対策を怠ってはならない。ここに問題があると、セカンドオーダーSQLインジェクションと呼ばれる脆弱性を持つことになる。

要するに徹底的に「入力値」をチェックし、適切にエスケープする必要があるということでしょう。
さもないと、セカンドオーダーSQLインジェクションと呼ばれる脆弱性を持ってしまうとのこと。

こちらの記事では、さらに「シングルクォーテーションと絡まないSQLインジェクション」や「マルチバイト文字の問題」等を上げ、最後に対策を示しています。これはうれしい。
が、あまりにも専門的すぎるのでここでは割愛させていただきます。

ポイントとなるのはデータベースに送る「入力値」です。
「入力値」に「不正な文字列」を使うことでアプリケーションに誤動作を起こさせるのが「SQLインジェクション」ということになります。

近頃、SQLインジェクションによるウェブサイト攻撃が流行っているようです。
注意しましょう。
SQLインジェクションによるウェブサイト攻撃が急増、IPAが対策を呼びかけ:ニュース – CNET Japan

 - サーバー・ネットワーク, セキュリティ

アドセンス広告メイン

Message

メールアドレスが公開されることはありません。

  関連記事

「中年のメル友」から危険な書き込み

1年以上前の記事です。内容が古い可能性があります。危険なコメントスパムが発生して …

日本はいつ?Facebook(フェイスブック)のグラフ検索でポスト本文が検索対象に

1年以上前の記事です。内容が古い可能性があります。日本ではなかなか始まるに至って …

no image
久々に。。

1年以上前の記事です。内容が古い可能性があります。システム関連の仕事をしました。 …

LINE(ライン)で既読を付けずにトークを読む「ちらみ」はキーロガー【Androidアプリ】

1年以上前の記事です。内容が古い可能性があります。まあ、ちゃんと告知しているので …

LINE(ライン)からアンチウイルス「LINE AntiVirus」【Androidアプリ】

1年以上前の記事です。内容が古い可能性があります。iPhoneとAndroidの …

OpenSSLに脆弱性(セキュリティホール)のバグ。鍵のマークも信用出来ない

1年以上前の記事です。内容が古い可能性があります。何かと、「インターネットで個人 …

OAuthとOpenIDにセキュリティホール(脆弱性)、Facebookなどにも影響が

1年以上前の記事です。内容が古い可能性があります。世の中セキュリティホールありす …

無線LANの混雑状況が分かる「Wi-Fi混雑チェッカー」無料です【Androidアプリ】

1年以上前の記事です。内容が古い可能性があります。最近、自宅の無線LANが心なし …

これは新しいビジネス。「評Ban」でバイトテロやネットいじめを事前キャッチ

1年以上前の記事です。内容が古い可能性があります。こういった有料サービス。どんど …

Facebookで自分の写真がタグ付けされるのを防ぐ方法(はない)

1年以上前の記事です。内容が古い可能性があります。Facebook(フェイスブッ …

血液型オヤジ