可我们总发着光">
【XXE】XXE(一)
xml外部实体注入漏洞
服务端接收和解析了来自用户端的xml数据,而又没有做严格的安全控制,从而导致xml外部实体注入
XXE(XML External Entity)漏洞,全称 XML 外部实体注入漏洞,是一种针对解析 XML 输入的应用程序的安全攻击。其核心原理在于恶意利用 XML 解析器处理外部实体引用的功能,导致应用程序执行非预期的、有害的操作,例如读取敏感文件、发起网络请求、执行服务端请求伪造(SSRF)甚至拒绝服务(DoS)攻击。
XXE危害
文件读取
读取内网文件,探测端口
XML炸弹拒绝服务攻击
XXE预防
禁用外部实体,但是只禁用外部实体有可能被XML炸弹攻击
禁用DTD,能杜绝100%的外部实体攻击,如果需要文档结构验证可以升级为XSD(XML Schema)
升级php版本过滤关键字<!DOCTYPE、<!ENTITY SYSTEM、PUBLIC
白名单
Fortify等扫描工具可以扫源码
手动检测方法
基础探测(响应回显型)
Payload 1:内部实体测试
1 |
|
Payload 2:外部实体测试
1 |
|
• 成功标志:
o 响应中包含文件内容
o 返回错误信息如no such file(泄露路径)
o HTTP 500错误(文件含特殊字符破坏XML结构)
2. 盲测(无回显型)
Payload 3:带外检测(OOB)
1 |
|
Payload 4:多级外带数据
1 |
|
本文参考: