vulnhub-xxe靶场通关(xxe漏洞续)
vulnhub-xxe靶场通关(xxe漏洞续)
下面简单介绍一个关于xxe漏洞的一个靶场,靶场来源:https://www.vulnhub.com 这里面有很多的靶场。
靶场环境需要自己下载:https://download.vulnhub.com/xxe/XXE.zip
因为是外国的靶场,下载速度有点慢,也可以通过公众号——星光安全,回复“xxe靶场”获得。
接下来我们开始打靶。
一、搭建靶场
1>打开虚拟机,将我们下载好的靶场环境导入

这是我们解压后的靶场环境,然后打开虚拟机将其导入

名字可以随便起,选择好路径就可以了

这时你的虚拟机最左侧就会多出一个虚拟机,我们可以打开

到这里,靶场就搭建好了。
二、扫描其网段
我们打开可以发现,不知道密码,根本没有办法登录;他的IP我们也不知道,貌似有点无从下手,但是可以通过我们之前学的信息收集对他逐步深入。我们有一个centos的虚拟机,我们可以查看一下这个虚拟机的IP地址,因为这个centos虚拟机和xxe的虚拟机在同一网段,这样我们通过扫描centos的虚拟机就可以得到xxe虚拟机的IP。
1>查看centos的IP地址

2>使用nmap扫描IP

3>找到xxe虚拟机的IP

点击服务,我们可以看到有http的,然后看一下,发现有个Ubuntu的,而且80端口还开放,我们访问一下。正常情况下那三个IP我们都可以访问一下,但是我们知道那两个是我们自己的,就直接访问最后一个即可。
4、访问

注:如果centos用的桥接模式,xxe虚拟机用的是nat模式,无法扫到,两个必须要用一样的网络状态,要么都是桥接,要么都是nat,xxe虚拟机的网络状态默认是nat。有的人可能没有其他的虚拟机,搭建了xxe环境,只有这一个,那么你需要把xxe这个虚拟机的网络状态改为桥接,扫描的时候只需要扫描本机的IP即可。不懂桥接模式和nat模式的可以自行百度一下。
三、扫描目录
有了IP以后,接着往下走,下面的话肯定是扫描他的目录了。使用御剑或者dirsearch对IP进行扫描。
先来看一些御剑的扫描

再来看一下dirsearch的扫描

这两款工具都是可以达到一个扫描目录的目的,(公众号回复 “扫描工具” 获得)扫描到一个robots.txt文件,尝试访问。

可以看到里面的内容,有一个是xxe的目录,还有一个admin.php文件,都进行访问一下

再访问一下xxe

可以看到是一个登录页面,我们就可以进行抓包尝试了。
四、寻找flag
随便输入账号密码,进行抓包

发现末尾是xml语句的提交,联想到xxe漏洞,我们可以修改这些语句,使其读取文件,先读取一下xxe.php文件,数据包头部有这个文件
修改代码如下:
<?xml version="1.0" ?>
<!DOCTYPE r [
<!ELEMENT r ANY >
<!ENTITY sp SYSTEM "php://filter/read=convert.base64-encode/resource=xxe.php">
]>
<root><name>&sp;</name><password>hj</password></root>

然后进行base64解码,选中需要解码的部分,发送到Decoder模块

然后点击Decoder,进行解码

发现没有什么用,这是我们可以想到robots.txt文件中有一个admin.php文件,尝试读取一下他的内容

进行解码

解码之后,我们可以发现有账号密码,但是密码用MD5进行了加密,解密一下

这样就有了账号密码,登录一下

登录一下发现账号和密码错误,这是因为我们获取的是xxe目录下的admin.php,所以应该在这个目录下登录

输入账号密码,登录

看到了他提示我要的flag,我们点击

又提示了一个文件,那我们还需要读取一下这个flag文件中的内容了

进行解码

可以看到the flag in (JQZFMMCZPE4HKWTNPBUFU6JVO5QUQQJ5),这串代码也是进行了加密,我们再进行解密,他的加密方式是base32 (一般MD5加密是32位,base64加密末尾都有等于号,没有等于号的可能是base32加密,严格意义上说是编码),将其解码看一下

这又是一个base64编码,再进行解码

出现了一个flag的路径,读取一下

然后进行解码

解码以后,我们发现看不懂,但是我们知道他是php文件,可能是php代码,找个在线运行工具运行一下,或者新建一个php文件,将代码写进去,访问一下

得到flag,完结!!!!
总结
这个题其实不怎么难,但是考察的比较全面,有信息收集,xxe漏洞,还有一些解码,解密。其实主要还是围绕xxe漏洞展开,题不难,就是绕。
以上的靶场环境以及工具,可以通过关注公众号 “星光安全” 获得
vulnhub-xxe靶场通关(xxe漏洞续)的更多相关文章
- XXE外部实体注入漏洞
XML被设计为传输和存储数据,XML文档结构包括XML声明.DTD文档类型定义(可选).文档元素,其焦点是数据的内容,其把数据从HTML分离,是独立于软件和硬件的信息传输工具.XXE漏洞全称XML E ...
- Upload-labs 文件上传靶场通关攻略(上)
Upload-labs 文件上传靶场通关攻略(上) 文件上传是Web网页中常见的功能之一,通常情况下恶意的文件上传,会形成漏洞. 逻辑是这样的:用户通过上传点上传了恶意文件,通过服务器的校验后保存到指 ...
- VulnHub 实战靶场Breach-1.0
相比于CTF题目,Vulnhub的靶场更贴近于实际一些,而且更加综合考察了知识.在这里记录以下打这个靶场的过程和心得. 测试环境 Kali linux IP:192.168.110.128 Breac ...
- Vulnhub dc-4靶机通关
Vulnhub dc-4靶机通关 下载地址:https://download.vulnhub.com/dc/DC-4.zip 安装好dc-4靶机 使用局域网查看器扫描到ip地址 端口扫描,发现运行了8 ...
- XXE外部实体注入漏洞——PHP
前言 XXE Injection即XML External Entity Injection,也就是XML外部实体注入攻击.漏洞是在对非安全的外部实体数据进行处理时引发的安全问题. 在XML1.0标准 ...
- XXE外部实体注入漏洞总结
XXE 漏洞原理 XXE是xml外部实体注入漏洞,应用程序解析xml输入时,没有禁止外部实体的加载,导致可加载恶意外部文件和代码,造成任意文件读取,命令执行,内网端口扫描攻击内网网站等危害. 漏洞危害 ...
- 一个用得比较广的微信API的XXE外部实体注入漏洞
文件地址: https://github.com/dodgepudding/wechat-php-sdk/raw/master/wechat.class.php 代码: <?php /** * ...
- Pikachu靶场通关之XSS(跨站脚本)
一.XSS(跨站脚本)概述 Cross-Site Scripting 简称为"CSS",为避免与前端叠成样式表的缩写"CSS"冲突,故又称XSS.一般XSS可以 ...
- XSS_Labs靶场通关
XSS-labs靶场(1-20) 开始通关! 0x01 (直接漏洞注入) 反射型xss注入 1.遇到?name=text,尝试参数注入 注入语句: <script>alert('xss ...
- Web文件上传靶场 - 通关笔记
Web应用程序通常会提供一些上传功能,比如上传头像,图片资源等,只要与资源传输有关的地方就可能存在上传漏洞,上传漏洞归根结底是程序员在对用户文件上传时控制不足或者是处理的缺陷导致的,文件上传漏洞在渗透 ...
随机推荐
- 二进制安装Kubernetes(k8s) v1.23.7 IPv4/IPv6双栈
二进制安装Kubernetes(k8s) v1.23.7 IPv4/IPv6双栈 Kubernetes 开源不易,帮忙点个star,谢谢了 介绍 kubernetes二进制安装 后续尽可能第一时间更新 ...
- Linux(一)Linux简介、目录结构、网络配置与系统服务
1 Linux简介 Linux基于Unix,是多用户分时系统 Ctrl + Alt + F2.F3...F6打开多个Linux Shell终端控制器:F1为图形化界面,终端为仿真器 2 Linux文件 ...
- 扎实打牢数据结构算法根基,从此不怕算法面试系列之004 week01 02-04 使用泛型实现线性查找法
1.算法描述 在数组中逐个查找元素,即遍历. 2.上一篇文的实现结果 在 扎实打牢数据结构算法根基,从此不怕算法面试系列之003 week01 02-03 代码实现线性查找法中,我们实现了如下代码: ...
- Mapstruct使用报java: Couldn't retrieve @Mapper annotation
检查代码报错 java: Couldn't retrieve @Mapper annotation jar包冲突,去掉一个Mapstructjar包.
- Java方法的返回值及注意事项
方法的返回值 为什么要有带返回值的方法呢? 调用处拿到方法的结果之后,才能根据结果进行下一步操作 带返回值方法的定义和调用: 如果在调用处,要根据方法的结果去编写另一段代码逻辑 为了在调用处拿到方法产 ...
- 基于pyinstaller的python打包工具
以下是软件链接:https://mysecreat.lanzoub.com/iZPGf0swgtbc 软件功能:可以对py文件进行打包,功能基于pyinstaller模块,因此需要安装python环境 ...
- Driver8833电机驱动模块的使用(STM32为主控)
一.硬件 STM32C8T6.STLINK下载器 Driver8833:TI公司的DRV8833是双桥马达驱动器解决方案,包括有两个H桥驱动器,可驱动两个DC电刷马达,或一个步进马达, 螺线管和其它电 ...
- 2023-01-10:智能机器人要坐专用电梯把货物送到指定地点, 整栋楼只有一部电梯,并且由于容量限制智能机器人只能放下一件货物, 给定K个货物,每个货物都有所在楼层(from)和目的楼层(to),
2023-01-10:智能机器人要坐专用电梯把货物送到指定地点, 整栋楼只有一部电梯,并且由于容量限制智能机器人只能放下一件货物, 给定K个货物,每个货物都有所在楼层(from)和目的楼层(to), ...
- SQL Server 2014 英文版安装教程
安装过程如下 1. 点击setup开始安装. 2. 选择如下的全新安装. 3. 自动生成产品密钥,然后点击下一步. 4. 勾选接受条款,然后点击下一步. 5. 自动更新根据实际情况进行选择,点击下一步 ...
- JavaWeb概念
1 基本概念 1.1 前言 web开发: web,网页的意思,类如:www.baidu.com 静态web: html,css 提供给所有人看到的数据始终不会改变! 动态web: 几乎所有的网站:类如 ...