sqlmap使用筆記
Sqlmap簡介
官方網址:http://sqlmap.org
Github地址:https://github.com/sqlmapproject/sqlmap
中文使用說明:http://www.91ri.org/6775.html
Sqlmap是一種開源的滲透測試工具,可以自動檢測和利用SQL注入漏洞以及接入該數據庫的服務器。它擁有非常強大的檢測引擎、具有多種特性的滲透測試器、通過數據庫指紋提取訪問底層文件系統並通過外帶連接執行命令。
支持的數據庫:MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird, Sybase and SAP MaxDB
SQL注入技術:boolean-based blind, time-based blind, error-based, UNION query, stacked queries and out-of-band
枚舉數據:users, password hashes, privileges, roles, databases, tables and columns
......具體參考官網
Sqlmap安裝
Sqlmap需要安裝在linux系統下,這里將采用Ubuntu14.04+sqlmap來安裝。
- 准備Ubuntu14.04,配置網絡,安裝Python2.7.8
- 下載sqlmap,兩種方式:
a) 直接在https://github.com/sqlmapproject/sqlmap下載
b) 利用git命令:
git clone https://github.com/sqlmapproject/sqlmap.git sqlmap-dev
3. 保證Python安裝成功,運行python出現版本信息
4. 此時運行進入XX/XX/sqlmap-dev文件夾,運行
python sqlmap.py –h可以得到一個基本的參數說明
python sqlmap.py –hh 可以得到一個詳細的參數說明
需要注意,sqlmap有些功能需要第三方庫的支持,如果某些參數命令需要安裝第三方庫請自行下載安裝
Sqlmap使用
官方地址:點擊
Sqlmap的參數說明很長,尤其是在-hh參數下的幫助文檔更為詳細。
1.信息顯示
-v 可以設置6個等級,用來控制顯示不同的信息,一般選3就行了
2.選擇目標
-d 直接連接目標數據庫
-u 連接目標url地址,常用,注意后面的id=*,沒有是不行的
-m 可以連接多個目標
-g 通過google dork來選擇目標(什么是google dork?,就是在Google上搜你需要攻擊的漏洞類型,看圖,也就是谷歌搜索后得到的地址)
3.漏洞掃描
輸入下面的命令,對該網址進行漏洞檢測(說明一點,不是所有都有漏洞):
輸入后程序開始運行,出現下面這個圖,說明sqlmap開始對這個url進行漏洞檢測。
從結果中,可以得到該服務器的操作系統為windows 2003或XP
數據庫的類型是Microsoft Access。
枚舉:
-a 檢索所有內容
--dbs掃描數據庫信息
--tables 列出數據庫所有的表信息
--columns 列出數據庫表中的所有字段信息
--current-db 列出當前的數據庫名稱
--roles 枚舉用戶
--dump-all 列所有表的內容
--exclude-sysdbs 列舉用戶數據庫的表內容
--common-tables暴力破解表
….此處省略
再次輸入命令:
從圖中,可以得到數據庫名稱Microsoft_Access_masterdb,其中有四個表分別為company,news,products,userinfo
試試能不能枚舉用戶名稱,輸入命令:
。。。居然提示,Microsoft Access不可以進行這樣的枚舉
試試枚舉所有表的信息,那么輸入命令:
那么,看看products表中的詳細信息,輸入命令:
等結果時候有點慢,就ctrl+c給結束了,可以看部分內容,如下圖:
PS:只是簡單的介紹下使用的基本操作,用於安全軟件測試,作者也是在學習,說實話沒啥意思,雖然很不願意干這事,工作沒辦法
流弊的sqlmap滲透:滲透126網盤、使用sqlmap進行SQL注入