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应用程序通常会提供一些上传功能,比如上传头像,图片资源等,只要与资源传输有关的地方就可能存在上传漏洞,上传漏洞归根结底是程序员在对用户文件上传时控制不足或者是处理的缺陷导致的,文件上传漏洞在渗透 ...
随机推荐
- 开源Apinto网关-流量策略
背景介绍 Apinto是一款高性能.可扩展.易维护的API网关. Apinto网关基于GO语言模块化开发,5分钟极速部署,配置简单.易于维护,支持集群与动态扩容,企业级开箱即用.Apinto除了提供丰 ...
- 腾讯出品小程序自动化测试框架【Minium】系列(七)测试框架的设计和开发
前言 整个框架的开发及调通是在3月27日晚上22点完成,如下: 这篇文章真的是拖了太久了,久到我居然把代码部分完成后,彻底给忘了,这记性,真的是年纪大了! 框架的设计开发 1.框架搭建设计要素 日志& ...
- [GAUSS-50201]:The /opt/software/openGauss/xxxx-RedHat-64bit.tar.bz2 does not exist
问题描述:使用redhat7.9来安装opengauss集群,预安装过不去.opengauss官方只支持centos版本,最好是centos7.6. [root@db01 script]# ./gs_ ...
- Git多平台/多账号配置
有时候需要在一台电脑使用多个git平台(Gitee.GitHub.Gitlab...)或者一个平台多个不同账号,比如想同时配置公司git和个人的git,提交代码时提交到对应的平台/账号的代码仓库且互不 ...
- JVM的内存分配及各种常量池的区别(静态常量池、运行时常量池、字符串常量池)
JVM内存分配 先了解下JVM中的内存分配,此处以hotspot vm为例(官方jdk采用的vm) 程序计数器 栈 1. 虚拟机栈 2. 本地方法栈 Java堆 堆内存是各个线程共享的区域 方法区 它 ...
- 简单的了解下 Fetch API 的工作原理
一.简介 Fetch API是一种现代的Web API,提供了一种异步获取网络资源的方法.由于其简单性.灵活性和一致性,它已经成为Web应用程序中获取数据和资源的流行选择.在本文中,我们将深入探讨Fe ...
- 【译】ConfigureAwait FAQ
.NET 在数年前就在语言和库中添加了 async/await.在那段时间里,它像野火一样蔓延开来,不仅在 .NET 生态系统中,而且在无数其他语言和框架中被复制.在 .NET 中也看到了大量的改进, ...
- 面向接口编程实践之aspnetcoreapi的抽象
最为一名越过菜鸟之后的开发,需要做接口开发.下面做一个纯粹的接口编程的实例demo,仅仅是一个webapi接口的抽象. 下面是代码接口,AbsEFWork是webapi,BaseEntityFrame ...
- c语言趣味编程(2)借书方案知多少
一.问题描述 小明有5本新书,要借给A,B,C这三位小朋友,若每次每人只能借一本,则可以有多少种不同的借法? 二.设计思路 (1)定义三个变量a,b,c来代表三位小朋友借的书的编号 (2)利用for循 ...
- Wine运行问题 希沃-汉字卡无法显示
在wine环境下运行希沃白板5,汉字卡无法正常显示: 这个模块是我之前参与开发的模块,过了5年还有点印象. 大概原理是获取字体库中字符的笔画路径GraphicsPath,根据里面的路径点集PathPo ...