VulnHub-XXE
简介
本以为该靶机是利用XXE获取权限,做的过程中才发现该靶机不已拿权限为目的,该靶机为CTF题,目的在于学习XXE漏洞。
靶机下载地址:https://www.vulnhub.com/entry/xxe-lab-1,254/
信息收集
使用nmap --min-rate 10000 192.168.142.136 --script=vuln -sV扫描目标主机发现开启80和5355端口,80端口中间件为Apache 2.4.27,存在robots.txt文件,如图:
访问80端口为Apache默认页面,查看robots.txt文件,如图:
访问/xxe目录为登录页面,如图:
提交用户名和密码发现提交的数据是xml格式,如图:
扫描网站目录及文件发现admin.php文件,如图:
漏洞发现
根据靶机名称及提交的数据格式猜测存在XXE漏洞,直接利用主动扫描发现存在XXE漏洞,如图:
读取到/etc/passwd文件内容,如图:
漏洞利用
利用XXE读取admin.php文件,如图:
Base64解码之后如下:
<?phpsession_start();
?>
<html lang = "en"><head><title>admin</title><link href = "css/bootstrap.min.css" rel = "stylesheet"><style>body {padding-top: 40px;padding-bottom: 40px;background-color: #ADABAB;}.form-signin {max-width: 330px;padding: 15px;margin: 0 auto;color: #017572;}.form-signin .form-signin-heading,.form-signin .checkbox {margin-bottom: 10px;}.form-signin .checkbox {font-weight: normal;}.form-signin .form-control {position: relative;height: auto;-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;padding: 10px;font-size: 16px;}.form-signin .form-control:focus {z-index: 2;}.form-signin input[type="email"] {margin-bottom: -1px;border-bottom-right-radius: 0;border-bottom-left-radius: 0;border-color:#017572;}.form-signin input[type="password"] {margin-bottom: 10px;border-top-left-radius: 0;border-top-right-radius: 0;border-color:#017572;}h2{text-align: center;color: #017572;}</style></head><body><h2>Enter Username and Password</h2><div class = "container form-signin"><?php$msg = '';if (isset($_POST['login']) && !empty($_POST['username']) && !empty($_POST['password'])) {if ($_POST['username'] == 'administhebest' && md5($_POST['password']) == 'e6e061838856bf47e1de730719fb2609') {$_SESSION['valid'] = true;$_SESSION['timeout'] = time();$_SESSION['username'] = 'administhebest';echo "You have entered valid use name and password <br />";$flag = "Here is the <a style='color:FF0000;' href='/flagmeout.php'>Flag</a>";echo $flag;}else {$msg = 'Maybe Later';}}?></div> <!-- W00t/W00t --><div class = "container"><form class = "form-signin" role = "form"action = "<?php echo htmlspecialchars($_SERVER['PHP_SELF']);?>" method = "post"><h4 class = "form-signin-heading"><?php echo $msg; ?></h4><input type = "text" class = "form-control"name = "username"required autofocus></br><input type = "password" class = "form-control"name = "password" required><button class = "btn btn-lg btn-primary btn-block" type = "submit"name = "login">Login</button></form>Click here to clean <a href = "adminlog.php" tite = "Logout">Session.</div></body>
</html>
从源码中发现用户名:administhebest
,密码MD5值:e6e061838856bf47e1de730719fb2609
,解密后为:admin@123
,
登录之后,如图:
点击Flag之后跳转到flagmeout.php文件,但显示404,访问xxe/ flagmeout.php后页面空白,查看源码:
读取flagmeout.php文件如图:
Base64解码后如下:
<?php
$flag = "<!-- the flag in (JQZFMMCZPE4HKWTNPBUFU6JVO5QUQQJ5) -->";
echo $flag;
?>
读取xxe.php内容,然后Base解码,如下:
<?php
libxml_disable_entity_loader (false);
$xmlfile = file_get_contents('php://input');
$dom = new DOMDocument();
$dom->loadXML($xmlfile, LIBXML_NOENT | LIBXML_DTDLOAD);
$info = simplexml_import_dom($dom);
$name = $info->name;
$password = $info->password;echo "Sorry, this $name not available!";
?>
由于靶机没有开始ssh服务,因此不考虑读取ssh私钥文件,探测内网端口无果,通过搜索后发现该靶机无法getshell,需要解密flag。
通过Base32解码再Base64解码flagmeout.php文件返回的信息后为:/etc/.flag.php,读取该文件内容,如图:
在线运行后报错信息中不包含flag,需要自行搭建环境运行。
VulnHub-XXE相关推荐
- vulnhub靶场-Hacker_Kid-v1.0.1
1.靶机信息 靶机名称:Hacker_Kid-v1.0.1 靶机难度:中等 虚拟机环境:此靶机推荐使用Virtualbox搭建 目标:取得root权限 靶机地址:https://download.vu ...
- Hacker_kid-v1.0.1(vulnhub)
中等难度的靶机,取得权限即可(提示:信息收集,不需要爆破) 此靶机存在的都是新兴的漏洞类型. 地址如下: https://download.vulnhub.com/hackerkid/Hacker_K ...
- VulnHub日记(八):Hacker Kid
靶机介绍 参考链接:Hacker Kid Walkthrough - Vulnhub - Security - NepCodeX 虚拟机链接:Hacker kid: 1.0.1 ~ VulnHub 开 ...
- vulnhub靶场——Hacker-Kid-v1-0-1
准备 攻击机: kali/win11 靶机: Hacker_Kid-v1.0.1 192.168.91.0 网段 NAT 下载链接: https://download.vulnhub.com/hack ...
- Vulnhub靶场——Hacker_Kid-v1.0.1
1.概要 靶机下载地址:https://download.vulnhub.com/hackerkid/Hacker_Kid-v1.0.1.ova 攻击机地址:192.168.60.148 靶机地址:1 ...
- Vulnhub靶机:HACKER KID_ 1.0.1
目录 介绍 信息收集 主机发现 主机信息探测 53 端口 网站探测 页面源代码 DIG信息收集 经典XXE漏洞 探测9999端口 SSTI模板注入 Capabilities 提权 发现具有Capabi ...
- java中xxe漏洞修复方法
java中禁止外部实体引用的设置方法不止一种,这样就导致有些开发者修复的时候采用的错误的方法 之所以写这篇文章是有原因的!最早是有朋友在群里发了如下一个pdf, 而当时已经是2019年1月末了,应该不 ...
- java SAX 防xml注入,如何防止XML注入像XML Bomb和XXE攻击
您是否尝试过 OWASP page的以下代码段? import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.P ...
- XXE漏洞检测及代码执行过程
这两天看了xxe漏洞,写一下自己的理解,xxe漏洞主要针对webservice危险的引用的外部实体并且未对外部实体进行敏感字符的过滤,从而可以造成命令执行,目录遍历等.首先存在漏洞的web服务一定是存 ...
- switchyomega插件_CTF|你所关注的CTFer都在用的插件合集【附:XXE补给+CTF训练集】...
不看后悔系列,建议收藏 相信大家对 CTF 都不陌生了,今天为大家带来了一系列 CTF 必备 Chrome 插件. CTF 可能很多人想学 CTF,但又怕零基础学不懂.其实,CTF 并没有那么难. C ...
最新文章
- PMBOK7和PRINCE2的相似之处和定位之不同(上篇)
- 假设磁盘块与缓冲区大小相同,每个盘块读入缓冲区的时间为10μs,由缓冲区送至用户区的时间是5μs,系统对每个磁盘块数据的处理时间为2μs。若用户需要将大小为10个磁盘块的
- 当心Spring缓慢的事务回调
- 的计时器设置_如何选择最适合自己的计时器?
- (67)Verilog HDL模块条件例化
- java 反射静态内部类_android-反射的使用(反射静态内部类、非静态内部类、匿名内部类等)...
- idea jsp页面没有html提示,解决IDEAJSP没有代码提示问题的几种方法.pdf
- Linux编程(8)_文件IO
- 转:ffmpeg编码h264
- Tensorflow参数初始化很慢的问题
- (3)Spring框架----Bean实例化的几种方式对比
- 欧华android导航刷机,寻找欧华DVD导航一体机刷机文件。
- 【转载】VC项目配置基础
- 【Visual C++】游戏开发笔记三十五 站在巨人的肩膀上:游戏引擎导论
- 项目管理project模板_项目管理常用的10张图表推荐
- 小学计算机教师面试试题及答案,2019下半年小学信息技术教师资格证面试真题及答案汇总...
- 我的编程经历与我所热爱的游戏服务端开发
- 【CTF】咏春招新赛收获兼write up
- linux 空白进程,Linux空白行:行号显示、空白行数统计、删除空白行
- 蓝牙调试器 接收处理 hc-05蓝牙上传数据