「SQLインジェクション」とはどんな意味?
1年以上前の記事です。内容が古い可能性があります。
これは、Webサーバーへの攻撃方法ですね。そこまでは分かります。
でも、どういった方法でどういった攻撃をするのか? そして、どうやったら防げるのかは分かりません。
そこで、調べてみました。
【改訂第3版】 SQLポケットリファレンス (POCKET REFERENCE)
著者:朝井 淳
販売元:技術評論社
発売日:2009-04-29
おすすめ度:![]()
レビューを見る
その前にSQL(エスキューエル、シークェル)とは何ぞや?
これは、データベースとデータをやる取りする際の言語だと思っておけば問題ないでしょう。
アプリケーションが想定しないSQL文を実行させることにより、データベースシステムを不正に操作する攻撃方法(中略)
アプリケーションが入力値を適切にエスケープしないままSQL中に展開することで発生する。(中略)
入力値を適切にエスケープすることで防ぐことができる。
と、Wikipediaだけで解決してしまいました。
つまり、入力値にエスケープ文字を含めた「’ OR ‘t’ = ‘t」なんて文字列を入れると「’t’ = ‘t’」が抽出条件となるため全レコードが選択されてしまう。
と、こういった攻撃方法らしい。
ただ、これだけで何ができるのかは不明。
そこで、もうちょっとだけ調べてみる。
フォームから渡された値の特殊文字をエスケープしたり、PHPのmagic_quotes_gpcといった自動エスケープ機能をオンにするだけで対策したつもりになっていないだろうか。
さっきまで思ってました。
フォームに入力可能な部分だけが対策個所ではない。不正な入力の可能性を考える必要があるのは、GETやPOSTなどのクエリーやCookieの値、 HTTPヘッダなど、HTTP経由で送られてくるもの“すべて”と、それに加えてデータベースやファイルなどに保存されたデータを呼び出す際にも対策を怠ってはならない。ここに問題があると、セカンドオーダーSQLインジェクションと呼ばれる脆弱性を持つことになる。
要するに徹底的に「入力値」をチェックし、適切にエスケープする必要があるということでしょう。
さもないと、セカンドオーダーSQLインジェクションと呼ばれる脆弱性を持ってしまうとのこと。
こちらの記事では、さらに「シングルクォーテーションと絡まないSQLインジェクション」や「マルチバイト文字の問題」等を上げ、最後に対策を示しています。これはうれしい。
が、あまりにも専門的すぎるのでここでは割愛させていただきます。
ポイントとなるのはデータベースに送る「入力値」です。
「入力値」に「不正な文字列」を使うことでアプリケーションに誤動作を起こさせるのが「SQLインジェクション」ということになります。
近頃、SQLインジェクションによるウェブサイト攻撃が流行っているようです。
注意しましょう。
□SQLインジェクションによるウェブサイト攻撃が急増、IPAが対策を呼びかけ:ニュース – CNET Japan
アドセンス広告メイン
関連記事
-
-
「McAfeeサイトアドバイザ」をツールバーから消す方法
1年以上前の記事です。内容が古い可能性があります。狭いネットブックのデスクトップ …
-
-
Google Chromeはまだやめたほうがいい
1年以上前の記事です。内容が古い可能性があります。□Google Chromeに …
-
-
タンブラー(tumblr)に独自ドメインを設定してみた
1年以上前の記事です。内容が古い可能性があります。タンブラー(tumblr)って …
-
-
ツイッター(Twitter)のスパムアカウントが確認できる「TwitBlock」
1年以上前の記事です。内容が古い可能性があります。便利そうでそうでもないツイッタ …
-
-
モバイルWi-Fiルーターは電源(電池)が切れると設定も初期化するの?
1年以上前の記事です。内容が古い可能性があります。先日よりWiMAXのモバイルW …
-
-
勝手にインストールの更新プログラムに不具合。酷いよ「Windows 7」
1年以上前の記事です。内容が古い可能性があります。自分はタイミングが良かったのか …
-
-
スパムメール撲滅大作戦
1年以上前の記事です。内容が古い可能性があります。最近、メールを処理したり、RS …
-
-
DNSというシステム(プロトコル)自体に脆弱性があった
1年以上前の記事です。内容が古い可能性があります。何とも驚きの(というかなんとな …
-
-
マイクロソフトの次はfacebookによるスパムメール
1年以上前の記事です。内容が古い可能性があります。以前紹介したマイクロソフトから …
-
-
殆どのスマホユーザーの個人情報はFacebookに握られている
そう、それがシャドープロファイルと言われているものです。
そして怖いのはこのシャドープロファイル、Facebookアカウントを作ったことのない人のものまで作られているとのことです。あるFacebookユーザーの連絡先にあなたの個人情報が書かれていたら注意。
その方がFacebookに連絡先へのアクセスを許可していたらあなたがFacebookをやっていなくてもアウトです。ではどうやったら防げるのか?
最近ではFacebookアプリがプリインストールされているスマホ(スマートフォン)も多いのでほぼ防ぐことは不可能でしょうね。つまり、
過去にFacebookのアカウントを作ったことがなく、Facebookを利用している人とアドレスなどの交換をしていないという場合のみ「あなたのシャドープロファイルは作られていません」
とのこと。
Facebookのアカウントを作ったことがない人は結構いるんじゃないかと思います。
ただ、Facebookを利用している人とアドレス交換をしていない人なんて殆どいないんじゃないでしょうか?
そもそも、その人がFacebookをやっているのかどうか調べてアドレス交換するなんてことできないでしょうし。。これから、こういった情報が一般的になってくると、自分のようにFacebookやってる感を前面に出している人なんかは逆に、嫌厭されてしまうような時代がきてしまうのかもしれません。
でもね。
結局は架空請求や先日被害にあった債権回収詐欺等、それを使う悪いやつがいなければ別に個人情報何ら問題ないんですよね。
だって、かつては電話帳(ハローページ)に普通に電話番号が載っていた時代があるんですから。
嫌な時代になっちゃいましたねぇ。。あとはFacebookの技術を信じて、そういった悪い輩に個人情報が流れないようにしてもらうしかないですね。
よく、「あとは神のみぞ知る」なんてこと言うことがありますが、Facebookもそういう意味では神の領域に入りつつあるのでしょうか?
人間が神の領域に足を踏み入れるとどうなってしまうのか? 注目して行きましょう。
- PREV
- 衆議院選挙の投票率は80%を超える?
- NEXT
- 中国人は間違い電話に対してひどく怒るらしい







