SQL注入之利用DNS获取数据

本文详细介绍了如何利用DNS来提升SQL注入的效率,尤其是在无数据回显的情况下。通过DNS查询的方式,可以快速获取数据库中的信息。文章讨论了DNS的工作原理,包括递归和迭代查询,并以SQL Server、Oracle、MySQL和PostgreSQL为例,展示了如何利用UNC路径来实现这一过程。还特别提到了利用sqlmap工具进行DNS注入的用法以及注意事项,如Linux系统不支持UNC路径、账户权限要求和DNS路径长度限制。
摘要由CSDN通过智能技术生成

1.SQL注入

SQL注入一般分为报错注入和盲注,盲注的又分为布尔盲注和时间盲注。

       当我们发现一个站点存在一个没有数据回显的注入点进行注入时,只能采取盲注,这种注入速度非常慢,需要一个一个字符猜解,而且很容易搞挂网站,这时候我们就需要寻找一种快速有效的方法来获取数据。

此时我们就可以利用DNS来快速的获取数据,当然我们也可以在无回显的命令执行或者无回显的SSRF中利用

特点:速度快,能够绕过某些防护软件的限制

 

2.DNS

DNS是进行域名和与之相对应的IP地址转换的服务器

DNS域名解析:

主机本地域名服务器的查询一般都是采用递归查询

当主机所询问的本地域名服务器不知道被查询的域名的IP地址,那么本地域名服务器就以DNS客户的身份,向其它根域名服务器继续发出查询请求报文(即替主机继续查询),而不是让主机自己进行下一步查询。

因此,递归查询返回的查询结果或者是所要查询的IP地址,或者是报错,表示无法查询到所需的IP地址。

 

本地域名服务器根域名服务器的迭代查询过程:

当根域名服务器收到本地域名服务器发出的迭代查询请求报文时,要么给出所要查询的IP地址,要么告诉本地服务器:“你下一步应当向哪一个域名服务器进行查询”。然后让本地服务器进行后续的查询。根域名服务器通常是把自己知道的顶级域名服务器的IP地址告诉本地域名服务器,让本地域名服务器再向顶级域名服务器查询。顶级域名服务器在收到本地域名服务器的查询请求后,要么给出所要查询的IP地址,要么告诉本地服务器下一步应当向哪一个权限域名服务器进行查询。最后,知道了所要解析的IP地址或报错,然后把这个结果返回给发起查询的主机。

举个栗子:

域名为www.a.com的主机A 打算发送邮件给域名为www.b.com的主机B。这时就必须知道主机B的IP地址。下面是几个查询步骤:

1、主机A先向本地服务器dns.a.com进行递归查询。        

2、本地服务器采用迭代查询,它先向一个根域名服务器查询。        

3、根域名服务器告诉本地服务器,下一次应查询的顶级域名服务器dns.com的IP地址。        

4、本地域名服务器向顶级域名服务器dns.com进行查询。        

5、顶级域名服务器dns.com告诉本地域名服务器,下一步应查询的权限服务器dns.abc.com的IP地址。        

6、本地域名服务器向权限域名服务器dns.abc.com进行查询。        

7、权限域名服务器dns.abc.com告诉本地域名服务器,所查询的主机的IP地址。        

8、本地域名服务器最后把查询结果告诉m.xyz.com。

 

3.UNC路径

UNC是一种命名惯例, 主要用于在Microsoft Windows上指定和映射网络驱动器.。UNC命名惯例最多被应用于在局域网中访问文件服务器或者打印机。我们日常常用的网络共享文件就是这个方式。UNC路径就是类似\\softer这样的形式的网络路径

格式: \\servername\sharename ,其中 servername 是服务器名,sharename 是共享资源的名称。
目录或文件的 UNC 名称可以包括共享名称下的目录路径,格式为:\\servername\sharename\directory\filename

栗子:

将本机的DNS的服务器的地址设置为本机

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值