一.靶机安装
二.查找靶机主机ip
三.目录扫描
依次访问这两个目录
下图可知网站有xxe/和/admin.php两个目录
四.解题
首先访问xxe目录
再输入数据进行抓包,并对数据包进行修改
<?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>
将修改后的数据发送至重放器
这里我们得到用户名跟密码,将密码进行md5解码
我们访问admin.php
登录会看到flag
我们发现找不见这个文件,
然后我们可以去之前找见的两个目录里访问,这里没报错说明文件存在
我们查看页面源代码看看
我们发现了flag,激动吧.
然后兴奋的跑去base32解码
之后在进行base64解码
激动吧.但是我们发现真正的flag其实是在etc/flag.php
继续访问吧,兄弟
出错了咋办呀
我们返回/xxe目录再次进行抓包,并作如下修改
解码得到
然后我们将解码后的内容保存为php
保存到我们的网站根目录下访问,这里注意PHP版本不能过告否则解不出来.