こんにちは、しょうぞうです。
テスト工程の中でSQLインジェクション対策という項目をよく見かけると思います。
ただ僕は、実際にSQLインジェクションが行われた結果をみたことがありません。
Spring Securityとかだとすでに対策されていることが多いので・・・
そこで最近調べたところによるとSQLインジェクションを実際に体験できるサイトがあるということがわかりました。
今回は、SQLインジェクションを実際にやるとどうなるかを簡単に書いていきたいと思います。
SQLインジェクションとは
SQLインジェクションとは、ユーザーの入力値をデータベースに問い合わせて処理を行うWebサイトに対して、その入力内容に悪意のある問い合わせや操作を行うSQL文を埋め込み、データベースのデータを不正に取得・改竄・削除したりする手法のことをです。
これによりユーザー名やパスワードを無視して、ユーザー認証を回避して不正にログインすることができたりしちゃいます。
実際にやってみた
SQLインジェクションを実際に試すことができるサイトが下記のものです。
リンクを押すと上の画像の画面になるので、enter to the dungeonをクリックします。
すると、ログイン画面が出てくるのでログインします。
新規の場合はidとpasswordを入力してjoinしたのちにログインします。
ログインしたら問題を選択して実際にSQLインジェクションを試してみます。
今回は、gremlinを選択します。選択すると、問題が出てきます。
画像のコードをヒントにSQLをURLに書いていきます。
SQLインジェクションで最も有名な’ or ‘1 = ‘1’が正解でした!
まとめ
SQLインジェクションを実際にやってみてより理解が深まりました!
実際の業務や勉強で具体的にどのようなものか想像するのが難しい時やイメージしにくい時には今回のようなサイトを探したりしてみたいなと思いましたね!
他にも問題がたくさんあるので時間がある時に少しづつトライしてみようと思います!
コメント