SQLインジェクションのデモをする環境を構築する①

セキュリティ

昨日の私は以下の勉強会で、スピーカーとして発表を行っていました。

[秋葉原]第17回ゼロから始めるセキュリティ入門 勉強会(発表・LT大歓迎)

そこで、SQLインジェクション(以降SQLi)のデモを簡単に行いました。

発表終了後に検証環境を作成するのをブログに乗せてほしいとの声があったので、準備から公開していきます。

環境は以前作成したLAMP環境を使用していきます。

操作はwindowsからTera Tarmを使用してsshで接続を行って操作していきます。

DBの操作

まずはDBユーザ(管理権限持ち)を作成します。

#MySQLにログイン
$ sudo mysql -u root

MySQLにsudoでログインしたところ

ユーザを作成します。

> CREATE USER tokoroten IDENTIFIED BY 'assword1111aaaa!A';
#パスワードは要件が煩かったので、こんな感じに(もっと短くできるはず。)

一回「exit」で抜けて、作成したユーザでMySQLにログインできるか確認

 

$ mysql -u tokoroten -p
#先ほど設定したパスワードを聞かれるので、入力する。

 

新しく作成したユーザでログイン成功!

見えるDBは「information_schema」のみ

ではこのユーザに権限を持ってもらいます。

もう一回「exit」で抜けて再度「sudo mysql -u root」でMySQLで入ります。

そして、以下の入力を行います。

GRANT ALL PRIVILEGES ON *.* TO tokoroten@localhost IDENTIFIED BY 'assword1111aaaa!A';

さて、再度「tokoroten」でMySQLに入ると見えるDBはどうなっているでしょうか?

先ほどとは異なり、色々DBが見えるようになりました。

作成した「tokoroten」のDBアカウントを使用して、SQLiが存在するコンテンツを作成していきます。

今回は以上です。(ほとんど進んでないな・・・)

初心者でもSQLiとかの検証環境を作成できるようにゆっくり進めていく予定です。
※私が仕事・育児に追われているので、がっつり時間取れないのも理由の一つですが。。。

まったり見ていっていただけたら、幸いです。

質問や不明点、要望等あれば、コメントやツイッター等で連絡をお願いします。

コメント