简介

本以为该靶机是利用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相关推荐

  1. vulnhub靶场-Hacker_Kid-v1.0.1

    1.靶机信息 靶机名称:Hacker_Kid-v1.0.1 靶机难度:中等 虚拟机环境:此靶机推荐使用Virtualbox搭建 目标:取得root权限 靶机地址:https://download.vu ...

  2. Hacker_kid-v1.0.1(vulnhub)

    中等难度的靶机,取得权限即可(提示:信息收集,不需要爆破) 此靶机存在的都是新兴的漏洞类型. 地址如下: https://download.vulnhub.com/hackerkid/Hacker_K ...

  3. VulnHub日记(八):Hacker Kid

    靶机介绍 参考链接:Hacker Kid Walkthrough - Vulnhub - Security - NepCodeX 虚拟机链接:Hacker kid: 1.0.1 ~ VulnHub 开 ...

  4. vulnhub靶场——Hacker-Kid-v1-0-1

    准备 攻击机: kali/win11 靶机: Hacker_Kid-v1.0.1 192.168.91.0 网段 NAT 下载链接: https://download.vulnhub.com/hack ...

  5. Vulnhub靶场——Hacker_Kid-v1.0.1

    1.概要 靶机下载地址:https://download.vulnhub.com/hackerkid/Hacker_Kid-v1.0.1.ova 攻击机地址:192.168.60.148 靶机地址:1 ...

  6. Vulnhub靶机:HACKER KID_ 1.0.1

    目录 介绍 信息收集 主机发现 主机信息探测 53 端口 网站探测 页面源代码 DIG信息收集 经典XXE漏洞 探测9999端口 SSTI模板注入 Capabilities 提权 发现具有Capabi ...

  7. java中xxe漏洞修复方法

    java中禁止外部实体引用的设置方法不止一种,这样就导致有些开发者修复的时候采用的错误的方法 之所以写这篇文章是有原因的!最早是有朋友在群里发了如下一个pdf, 而当时已经是2019年1月末了,应该不 ...

  8. java SAX 防xml注入,如何防止XML注入像XML Bomb和XXE攻击

    您是否尝试过 OWASP page的以下代码段? import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.P ...

  9. XXE漏洞检测及代码执行过程

    这两天看了xxe漏洞,写一下自己的理解,xxe漏洞主要针对webservice危险的引用的外部实体并且未对外部实体进行敏感字符的过滤,从而可以造成命令执行,目录遍历等.首先存在漏洞的web服务一定是存 ...

  10. switchyomega插件_CTF|你所关注的CTFer都在用的插件合集【附:XXE补给+CTF训练集】...

    不看后悔系列,建议收藏 相信大家对 CTF 都不陌生了,今天为大家带来了一系列 CTF 必备 Chrome 插件. CTF 可能很多人想学 CTF,但又怕零基础学不懂.其实,CTF 并没有那么难. C ...

最新文章

  1. PMBOK7和PRINCE2的相似之处和定位之不同(上篇)
  2. 假设磁盘块与缓冲区大小相同,每个盘块读入缓冲区的时间为10μs,由缓冲区送至用户区的时间是5μs,系统对每个磁盘块数据的处理时间为2μs。若用户需要将大小为10个磁盘块的
  3. 当心Spring缓慢的事务回调
  4. 的计时器设置_如何选择最适合自己的计时器?
  5. (67)Verilog HDL模块条件例化
  6. java 反射静态内部类_android-反射的使用(反射静态内部类、非静态内部类、匿名内部类等)...
  7. idea jsp页面没有html提示,解决IDEAJSP没有代码提示问题的几种方法.pdf
  8. Linux编程(8)_文件IO
  9. 转:ffmpeg编码h264
  10. Tensorflow参数初始化很慢的问题
  11. (3)Spring框架----Bean实例化的几种方式对比
  12. 欧华android导航刷机,寻找欧华DVD导航一体机刷机文件。
  13. 【转载】VC项目配置基础
  14. 【Visual C++】游戏开发笔记三十五 站在巨人的肩膀上:游戏引擎导论
  15. 项目管理project模板_项目管理常用的10张图表推荐
  16. 小学计算机教师面试试题及答案,2019下半年小学信息技术教师资格证面试真题及答案汇总...
  17. 我的编程经历与我所热爱的游戏服务端开发
  18. 【CTF】咏春招新赛收获兼write up
  19. linux 空白进程,Linux空白行:行号显示、空白行数统计、删除空白行
  20. 蓝牙调试器 接收处理 hc-05蓝牙上传数据

热门文章

  1. 怎么把PDF拆分开成一张一张的
  2. 关于出版物经营许可证
  3. Six Sigma Basics
  4. Calendar加減月份、年份-月底的处理逻辑
  5. Oracle 11g 停止正在运行的job
  6. C++智能指针之01
  7. # 编译 qemu,libvirt, qemu rpm 包和 libvirt rpm 包
  8. Linux WIFI 驱动
  9. HDU - 1873 看病要排队(优先队列)
  10. 短视频app开发:如何实现视频直播功能