(データベースセキュリティ)SQLインジェクションの危険性

セキュリティ
スポンサーリンク

疑問

ログインパスワードが分からなくてもデータベースに侵入されるって本当!?

そんな方への記事です。

結論

SQL言語を悪用することでユーザー名とパスワードが分からなくても侵入されることがあります。

「3分ハッキング」という書籍を参考にしながら一緒に学んでいきましょう。

あらすじ

「3分ハッキング」では新入社員の「しょーじ君」がハッキング技術を一から学んでいくストーリーです。

ハッキングツールを入手したり、会社がハッキングされたり、最後には自分が、、、などいろいろな展開があります。

実際に手を動かしながら学べるようにもできています。

わたしも同じ流れで学んでいこうと思います。

本自体は2時間ほどで読みあわるボリュームでした。

ストーリー形式だったので楽しく読めましたよ♪

「しょーじくん」含め、登場人物みんなのIT知識はとても高かったですが(笑

SQLインジェクション

SQLインジェクションなら、パスワードが分からなくてもデータを盗むことができます。

人気の手法でサイバー攻撃の7割はSOLインジェクションです。

データベースを操作するためのSQL言語に工夫することで、データベースの設定不備や不具合を突いて

不正操作をすることができます。

準備

VirtualBoxを起動します。

Metasploitable2を起動します。

ユーザー名とパスワードはmsfadminです。

※Metasploitable2のインストール方法

https://tumaboki.com/sec-2/1501/ 

※VirtualBoxのインストール方法

【Mac版】Kali Linuxのインストール方法(画像付き)
セキュリティ対策を学ぶために、Mac版のKali Linuxインストール方法を画像付きで解説しています。

ifconfigを入力して、inet addr:と書かれた場所からIPアドレスを確認します。

IPアドレスをもとに、ブラウザからhttp://192.168.1.18/mutillidae/を開きます。

※192.168.1.18は、確認したIPアドレスを入力してください。

すると、蟻のロゴと「Mutillidae: Born to be Hacked」の画面が表示されます。

ここにSQLインジェクションを用いてログインしていきます。

実践

http;//192.168.1.18/mutillidae/index.php?page=login.phpを開きます。

※192.168.1.18は、確認したIPアドレスを入力してください。

「Name」のボックスにadmin、「Password」のボックスにpasswordと入力して「login」をクリックします。

ログイン名とパスワードが違うのでログインできません。

では、SQLインジェクションを試してみましょう!

「NAME」ボックスに「’ or 1=1 –」と入力すれば完了です。

ログインボタンを押せばログインできるはずです。

理論

データベースを操作するSQL言語を悪用しています。

Webサイトから「あなたの名前は?」とユーザー名を聞かれます。

ハッカーは「’ or 1=1 –」と入力して「1とはすなわち1のことですよね。正しいなら私へのログインを許可してください」と返答します。

するとWebサイトは「たしかに、1とは1のことです。お通りください!」とログインを許可してしまいます。

この攻撃を防ぐには、データベースにこのようなやり取りを受け入れてはならないと「設定」する必要があります。

まとめ

SQLインジェクションはデータベースを扱うSQL言語を悪用します。

ユーザー名やパスワードがわからなくても侵入できます。

データベースに設定することで防ぐことができます。

一緒に一歩踏み出しましょう♪

では♪

 3分ハッキング サイバー攻撃から身を守る知識

コメント

タイトルとURLをコピーしました