什么是XXE漏洞
XXE(XML外部实体注入)漏洞是一种安全漏洞,存在于使用XML解析器的应用程序中。XXE漏洞允许攻击者利用对外部实体的引用来读取本地文件、执行远程代码或发起拒绝服务攻击。
XXE漏洞的原理是,当应用程序使用XML解析器解析用户提供的XML输入时,攻击者可以通过在XML中注入恶意的外部实体引用来触发漏洞。这些外部实体引用可以指向本地文件系统中的文件,通过读取文件内容来获取敏感信息。攻击者还可以通过远程引用,执行恶意的代码或发起网络请求。
XXE漏洞的危害性相当严重,因为它可以导致数据泄露、服务器被远程控制、拒绝服务等安全问题。为了防止XXE漏洞,开发人员应该采取一些安全措施,如禁用外部实体解析、使用白名单来限制可解析的实体、对用户输入进行严格的验证和过滤等。
任意文件读取
内网端口探测
系统命令执行
靶场测试XXE漏洞
第一步搭建靶场
第二步输入任意字符,f12 查看content-type类型以及测试回显
证明登录是由XML类型完成,接下来测试是否有XXE注入漏洞
第三步打开BP代理,抓取数据包之后去放入XXE的poc实体并应用
测试成功利用XXE漏洞来获取信息
进阶 XXE盲打
有时候我们数据注入进去没有回显,无法得到结果,这个时候就需要利用盲打来查看注入是否成功。
- DNSlog解析
通过http协议来访问到此平台,注入进去就可以看到解析记录
(2)
XXE防御方法
- PHP JDK python在解析之前禁用外部实体引用
2.
3.使用WAF和规则来识别,过滤和屏蔽