常见的sqlmap命令
sqlmap -u "带参数的地址"
sqlmap -m 指定的文件路径
--batch 是以默认的选项规则去自动的判断选项是为yes还是no
--dbs 查询数据库名称
--users 链接当前数据库的名字是啥,但是他会先枚举
使用burpsuit数据包导入POST方式的sqlmap注入测试
加*号的目的是要在这里进行测试,就是测试谁就在谁后面加一个*号
利用 -r 参数进行指定测试的文件
--level 是设置测试级别的,一共有5个级别,要设置为3以上的级别才可以
只有大于等于3的级别才会对http请求头进行检测
这里是有bp的日志信息保留的,我们可以把代理的那个打开,然后就可以保存所有的经过bp代理的数据包保存下来了,进行多个一同测试
一定要放在英文路径下,bp对中文非常的敏感
保存之后一定要看一看参数是否有,以防万一
日志的话我们要用 -l 的参数去指定才可以进行sqlmap测试
获取完了数据库名,接下来要获取表名了
先获取数据库名,通过分析,我们要知道要对哪个库进行获取
分析得知我们要对security这个数据库进行查看表
我们获取到了表名,继续分析要对哪个表进行字段查询
获取到了字段。我们就可以去查看字段里面的内容了
经过分析得知id字段对我们是没用的,所以可以不去查他
我们也可以手工指定一个user-agent来绕过某些防护措施
比如这样
但是这样的话,比如我们要发100 1000个的请求包在这几秒几十秒内,他还是会被检测出来的
所以我们还可以用随机user-agent来进行注入攻击
比如这样
可是这样还是不够,ip还是万古不变的那一个,所以我们还要来多个ip地址
就是这样的
如果还是嫌注入的速度太快,我们可以加一个延时操作的指令
那个1可以加引号也可以不加
多个代理也可以这样写
如果在测试过程中页面出现了401 404等诸多情况我们可以去指定一下不去看这些东西
就是这样
这些东西也会用得到,但是用到的地方非常的少而已
如何寻找sql注入漏洞:
我们可以去google漏洞库里去找语法