0x00 前言
这篇文章主要是介绍如何利用dnslog在渗透测试中起到不一样的效果。
在渗透测试的过程中,或许我们都遇到过sql注入中的盲注,手工测试盲注通常很麻烦,因为速度很慢,所以通常用sqlmap去跑,但是其实还有其他的思路去实现我们想做的事,就是利用dnslog来帮忙我们获得数据!
0x01 实现原理
首先贴一张图
wiki: NS(Name Server)记录是域名服务器记录,用来指定该域名由哪个DNS服务器来进行解析。 DNS:域名解析服务器。 A记录:指定域名对应的IP地址。
若目标主机能够解析任意的域名,数据通过转发的DNS查询可以泄露自己的信息!
这两个查询由DNS客户端做出相应的响应,由DNS服务器提供使用相同的基本DNS消息格式,使用TCP的DNS消息被封装在一个UDP数据报中,so,we can catch it! 使用wireshark能够抓到这个数据包。
利用过程
演示我用创宇404实验室的dnslog平台来做
传送门:ceye
简单介绍一下这个平台
Introduce:使用说明
Payloads:常用的payload
CEYE API: DNSLog API 地址,请求时,会有相应的记录。
Records:里面有HTTP Request记录和Dns Request 记录
利用于SQL注入
我本地用sqli-labs来演示攻击过程。
先看一下loadfile()这个函数: 官方文档:权限大的情况下,loadfile()函数除了能够读取本地文件,还可以用来发送dns解析请求。
演示: 利用的payload:payload没什么难度,我就不解释了。
可以看到圈圈在转
并没有报错,去平台应该可以看到数据了
成功得到数据库名。
这是针对mysql的方法,其他数据库我暂时没有环境,可以自测!
利用于系统命令执行
windows下
:查看计算机名
可以看已经把常用变量给解析出来了。 其他的方法也是类似。
linux下
返回的结果:
试试查看passwd文件
返回的结果:
可以看到我是用zsh的shell。
总结
利用dnslog攻击的方法,让我们更加简便的进行渗透测试,并且高效,如果权限大的话,可以直接拿下目标站点。
原文地址
领取专属 10元无门槛券
私享最新 技术干货