sql ===> 结构化查询语句
一:sql注入原理
本质: 通过控制参数,将攻击者插入的payload,在没有过滤或者过滤不充分的前提下,拼接到sql语句中,并最终由数据库执行。
二:如何判断是否存在sql注入
1、使用单双引号,查看页面是否有报错信息。
2、使用 and 1=1 或者 and 1=2 ,看页面是否有变化。
3、使用 and sleep() 看是否能进入休眠状态。
三:sql注入的分类
1:联合查询分类
union select
union all select
(1)需要有回显位。
(2)通过 order by 进行判断列数。
2:基于报错注入
3:基于bool盲注
4:基于时间盲注
5: 其他注入
6:dnslog注入
网络请求的时候,第一步就是解析域名,当域名被成功解析的时候,该域名解析结果将被域名服务器记录下来,我们利用的正是这一点,讲我们想要的数据放在域名的下一级域中外带到域名服务器,通过查询域名服务器的日志,从而获得我们想要的数据。
此时可以结合dnslog完美快速的将数据取出。如遇到MySql的盲注时,可以利用内置函数load_file()来完成dnslog。load_file()不仅能够加载本地文件,同时也能对诸如\www.test.com这样的URL发起请求。
如我们使用www.dnslog.cn 这个网站来测试