【总结】sqlmap常用命令

post
  -u url --forms --skip(指定跳过参数) "" --technique BEUST(自选) --dbms mysql --batch --threads 10
  -u url --data "" --technique BEUST --banner --batch --threads 10
  -r req.txt -p "" --technique BEUST --dbms mysql --batch --threads 10

cookie
  -r *.txt --cookie "" --technique BEUST --dbms mysql --level 2 --batch --threads 10
  *指定参数 -r *.txt --cookie "" --technique BEUST --dbms mysql 这里不需要使用--level 2

user-agent
  *指定参数 -r *.txt --user-agent "" --technique BEUST --dbms mysql --batch --threads 10

referer

  *指定参数 -r *.txt --referer "" --technique BEUST --dbms mysql --batch --threads 10

绕waf
  --tamper "" //指定脚本

防屏蔽
  -safe-freq 3 //一个斜杠

代理
  --proxy ""

 

--technique 

这个参数可以指定sqlmap使用的探测技术,默认情况下会测试所有的方式。

支持的探测方式如下:

B: Boolean-based blind SQL injection(布尔型注入)
E: Error-based SQL injection(报错型注入)
U: UNION query SQL injection(联合查询注入)
S: Stacked queries SQL injection(可多语句查询注入)
T: Time-based blind SQL injection(基于时间延迟注入)

eg:sqlmap.py -u url --technique B

--level

一共5个等级,默认为1

--level 2   探测cookie型注入

--level 3   探测user-agent、referer注入

参数:-p,--skip

sqlmap默认测试所有的GET和POST参数,当--level的值大于等于2的时候也会测试HTTP Cookie头的值,当大于等于3的时候也会测试User-Agent和HTTP Referer头的值。但是你可以手动用-p参数设置想要测试的参数。例如: -p "id,user-anget"

当你使用--level的值很大但是有个别参数不想测试的时候可以使用--skip参数。

例如:--skip="user-angent.referer"

在有些时候web服务器使用了URL重写,导致无法直接使用sqlmap测试参数,可以在想测试的参数后面加*

--prefix     注入payload字符串前缀  

--suffix     注入payload字符串后缀  

--tamper  使用给定的脚本(S)篡改注入数据 

posted @ 2017-09-17 15:46  Carrypan  阅读(621)  评论(0编辑  收藏  举报