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漏洞续)的更多相关文章

  1. XXE外部实体注入漏洞

    XML被设计为传输和存储数据,XML文档结构包括XML声明.DTD文档类型定义(可选).文档元素,其焦点是数据的内容,其把数据从HTML分离,是独立于软件和硬件的信息传输工具.XXE漏洞全称XML E ...

  2. Upload-labs 文件上传靶场通关攻略(上)

    Upload-labs 文件上传靶场通关攻略(上) 文件上传是Web网页中常见的功能之一,通常情况下恶意的文件上传,会形成漏洞. 逻辑是这样的:用户通过上传点上传了恶意文件,通过服务器的校验后保存到指 ...

  3. VulnHub 实战靶场Breach-1.0

    相比于CTF题目,Vulnhub的靶场更贴近于实际一些,而且更加综合考察了知识.在这里记录以下打这个靶场的过程和心得. 测试环境 Kali linux IP:192.168.110.128 Breac ...

  4. Vulnhub dc-4靶机通关

    Vulnhub dc-4靶机通关 下载地址:https://download.vulnhub.com/dc/DC-4.zip 安装好dc-4靶机 使用局域网查看器扫描到ip地址 端口扫描,发现运行了8 ...

  5. XXE外部实体注入漏洞——PHP

    前言 XXE Injection即XML External Entity Injection,也就是XML外部实体注入攻击.漏洞是在对非安全的外部实体数据进行处理时引发的安全问题. 在XML1.0标准 ...

  6. XXE外部实体注入漏洞总结

    XXE 漏洞原理 XXE是xml外部实体注入漏洞,应用程序解析xml输入时,没有禁止外部实体的加载,导致可加载恶意外部文件和代码,造成任意文件读取,命令执行,内网端口扫描攻击内网网站等危害. 漏洞危害 ...

  7. 一个用得比较广的微信API的XXE外部实体注入漏洞

    文件地址: https://github.com/dodgepudding/wechat-php-sdk/raw/master/wechat.class.php 代码: <?php /** * ...

  8. Pikachu靶场通关之XSS(跨站脚本)

    一.XSS(跨站脚本)概述 Cross-Site Scripting 简称为"CSS",为避免与前端叠成样式表的缩写"CSS"冲突,故又称XSS.一般XSS可以 ...

  9. XSS_Labs靶场通关

    XSS-labs靶场(1-20) 开始通关!   0x01 (直接漏洞注入) 反射型xss注入 1.遇到?name=text,尝试参数注入 注入语句: <script>alert('xss ...

  10. Web文件上传靶场 - 通关笔记

    Web应用程序通常会提供一些上传功能,比如上传头像,图片资源等,只要与资源传输有关的地方就可能存在上传漏洞,上传漏洞归根结底是程序员在对用户文件上传时控制不足或者是处理的缺陷导致的,文件上传漏洞在渗透 ...

随机推荐

  1. 在Ubuntu中安装Samba文件服务

    点击蓝字 关注我们 First Frost 在Ubuntu中安装Samba文件服务 Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件,而SMB是Server Message ...

  2. 脚本:bat批处理常用脚本

    windows下有很多场景需要编写批处理来解决问题,跟定时任务相结合使用更佳. 1.创建文件,md,mkdir都可以进行文件创建 set AwrPath=D:\OracleTabChk if not ...

  3. 研发运维双管齐下!Seal AppManager的正确打开方式

    新一代应用统一部署管理平台 Seal AppManager 采用平台工程的理念,通过降低基础设施操作的复杂度为研发和运维团队提供易用.一致的应用管理和部署体验.Seal AppManager 帮助研发 ...

  4. Solidity 入门

    基本语法 版本指令 所有Solidity源码都必须指明版本,用于标明Solidity编译器的版本,这是为了避免将来新的编译器破坏代码 pragma solidity ^0.4.20; // 声明版本 ...

  5. Go中的有限状态机FSM的详细介绍

    1.FSM简介 1.1 有限状态机的定义 有限状态机(Finite State Machine,FSM)是一种数学模型,用于描述系统在不同状态下的行为和转移条件. 状态机有三个组成部分:状态(Stat ...

  6. Cesium加载ArcGIS Server4490且orgin -400 400的切片服务

    Cesium在使用加载Cesium.ArcGisMapServerImageryProvider加载切片服务时,默认只支持wgs84的4326坐标系,不支持CGCS2000的4490坐标系. 如果是A ...

  7. vue前端路由的两种模式,hash与history的区别

    1.直观区别: hash模式url带#号,history模式不带#号. 2.深层区别: hash模式url里面永远带着#号,我们在开发当中默认使用这个模式. 如果用户考虑url的规范那么就需要使用hi ...

  8. 响应式的 switchboard:让又大又慢的Vue/AIpine 页面爆快

    我的提示: AIpine 是一个js 库,官网口号是 "一个新的轻量极javascript框架",其实我之前也没接触过,翻译这篇文章时才注意到 官方地址: [AIpine.js]h ...

  9. Python网页应用开发神器fac 0.2.6版本重要新功能一览

    fac项目地址:https://github.com/CNFeffery/feffery-antd-components ,欢迎star支持 大家好我是费老师,距离我的开源Python网页应用通用组件 ...

  10. 音视频八股文(10)-- mp4结构

    介绍 mp4⽂件格式⼜被称为MPEG-4 Part 14,出⾃MPEG-4标准第14部分 .它是⼀种多媒体格式容器,⼴泛⽤于包装视频和⾳频数据流.海报.字幕和元数据等.(顺便⼀提,⽬前流⾏的视频编码格 ...