sqlmapは、ハッキングツールです。
そのハッキングツールを使って、サイトをガンガンと攻撃しましょう。
もちろん、公開されているサイトを攻撃するのは違法ですからね。
攻撃することにより、セキュリティの意識・知識が高まります。
そのためにsqlmapをインストールしましょう。
本記事の内容
- sqlmapとは?
- sqlmapのシステム要件
- sqlmapのインストール
- sqlmapの動作確認
それでは、上記に沿って解説していきます。
sqlmapとは?
sqlmapとは、Python製オープンソースの侵入テストツールです。
SQLインジェクションにより、データベースを乗っ取ります。
つまり、sqlmapはハッキングツールと言えます。
なんだか物騒ですね。
もちろん、sqlmapを使って第三者のサイトを攻撃なんてしたらアウトです。
攻撃をした際には、不正アクセス禁止法で逮捕されかねません。
じゃあ、なぜそんな危険なツールが存在するのでしょうか?
それは、SQLインジェクションについて詳しくなるためです。
ただ単に詳しくなるだけではなく、実際に検証することが最大の目的になります。
sqlmapを使って自社・自分のサイトを攻撃します。
そうすることで、サイトの脆弱性を見つけることが可能となります。
そして、見つけた脆弱性に対応していきます。
その結果、SQLインジェクション攻撃から身を守るサイトが出来上がります。
よって、sqlmapのようなツールがセキュリティ対策には欠かせないのです。
以上より、sqlmapの必要性が認識できたはずです。
実際の機能は、使って覚えていきましょう。
まずは、そのためにはインストールからです。
次に、sqlmapをインストールするためのシステム要件を確認します。
sqlmapのシステム要件
sqlmapの最新バージョンは、1.5.3となります。
この最新バージョンは、2021年3月4日にリリースされています。
メンテナンスの頻度は、かなり高いです。
それだけでも利用する側としては、安心できますね。
サポートOSに関しては、以下を含むクロスプラットフォーム対応です。
- Windows
- macOS
- Linux
Pythonが動けば、どんなOSでもOKということでしょう。
そして、そのPythonのサポート状況は以下となります。
- Python 2.6~2.7
- Python 3系
つまりは、ほぼすべてのバージョンが対象と言えます。
ちなみに、私は以下のPythonを利用します。
>python -V Python 3.9.1
以上より、sqlmapはPythonが動けばどこでも動きそうです。
では、次にsqlmapをインストールしていきましょう。
sqlmapのインストール
最初に、現状のインストール済みパッケージを確認しておきます。
>pip list Package Version ---------- ------- pip 21.0.1 setuptools 54.1.2
次にするべきことは、pip自体の更新です。
pipコマンドを使う場合、常に以下のコマンドを実行しておきましょう。
python -m pip install --upgrade pip
では、sqlmapのインストールです。
sqlmapのインストールは、以下のコマンドとなります。
pip install sqlmap
インストールは、ほぼ一瞬で終わります。
では、どんなパッケージがインストールされたのかを確認しましょう。
>pip list Package Version ---------- ------- pip 21.0.1 setuptools 54.1.2 sqlmap 1.5.3
sqlmapが依存するパッケージは、別でインストールはされていません。
その意味では、どんな環境にでも気軽に導入できそうです。
最後に、sqlmapの動作確認を行いましょう。
sqlmapの動作確認
動作しているかどうかは、以下のコマンドで確認できます。
>sqlmap --version 1.5.3#pip
インストールしたsqlmapのバージョンを確認できます。
実際の使い方は、ヘルプを見ましょう。
>sqlmap -h ___ __H__ ___ ___[,]_____ ___ ___ {1.5.3#pip} |_ -| . ["] | .'| . | |___|_ [']_|_|_|__,| _| |_|V... |_| http://sqlmap.org Usage: sqlmap [options] Options: -h, --help Show basic help message and exit -hh Show advanced help message and exit --version Show program's version number and exit -v VERBOSE Verbosity level: 0-6 (default 1) ・・・
上記のように、ズラズラと表示されます。
以上で動作確認としては、問題ないことを確認できました。
でも、実際にsqlmapを使ってサイトを攻撃したいと思いませんか?
もちろん、自社・自分のサイトです。
しかし、普通はすぐに脆弱性を持ったサイト(データを持ったDBも含む)を用意できません。
逆に、「そんなサイトを運用しています!!」と言われたら、ちょっと引いてしまいます。
そんなときは、脆弱性だらけのサイトであるDVWAを使いましょう。
詳細は、以下の記事をご覧ください。
DVWAをsqlmapでガンガンと攻撃してやりましょう。
そうすれば、SQLインジェクションについての理解が進むでしょう。
本ブログでは、実際に攻撃する様子を別記事にて解説する予定です。