XML&XXE 安全&无回显方案&OOB 盲注&DTD 外部实体&黑白盒挖掘

详细点:

XML 被设计为传输和存储数据, XML 文档结构包括 XML 声明、 DTD 文档类型定义(可
选)、文档元素,其焦点是数据的内容,其把数据从 HTML 分离,是独立于软件和硬件的
信息传输工具。等同于 JSON 传输。 XXE 漏洞 XML External Entity Injection ,
即 xml 外部实体注入漏洞, XXE 漏洞发生在应用程序解析 XML 输入时,没禁止外部实体
的加载,导致可加载恶意外部文件,造成文件读取、命令执行、内网扫描、攻击内网等危
害。
XML 与 HTML 的主要差异:
XML 被设计为传输和存储数据,其焦点是数据的内容。
HTML 被设计用来显示数据,其焦点是数据的外观。
HTML 旨在显示信息 ,而 XML 旨在传输存储信息。
Example :网站的 xml 文件解析
-XXE 黑盒发现:
1 、获取得到 Content-Type 或数据类型为 xml 时,尝试 xml 语言 payload 进行测试
2 、不管获取的 Content-Type 类型或数据传输类型,均可尝试修改后提交测试 xxe
3 、 XXE 不仅在数据传输上可能存在漏洞,同样在文件上传引用插件解析或预览也会造成
文件中的 XXE Payload 被执行
-XXE 白盒发现:
1 、可通过应用功能追踪代码定位审计
2 、可通过脚本特定函数搜索定位审计
3 、可通过伪协议玩法绕过相关修复等

XXE 修复防御方案:

  • 方案 1- 禁用外部实体
    PHP:
    libxml_disable_entity_loader(true);
    JAVA:
    DocumentBuilderFactory dbf
    =DocumentBuilderFactory.newInstance();dbf.setExpandEntityReferenc
    es(false);
    Python :
    from lxml import etreexmlData =
    etree.parse(xmlSource,etree.XMLParser(resolve_entities=False))
  • 方案 2- 过滤用户提交的 XML 数据
    过滤关键词: <!DOCTYPE 和 <!ENTITY ,或者 SYSTEM 和 PUBLIC
相关推荐
黎阳之光1 小时前
黎阳之光:以视频孪生领跑全球,赋能数字孪生水利智能监测新征程
大数据·人工智能·算法·安全·数字孪生
qq_260241232 小时前
将盾CDN:网络安全态势感知的建设与实践
安全·web安全
一袋米扛几楼982 小时前
【网络安全】Splunk 是什么?
安全·web安全
一袋米扛几楼982 小时前
【网络安全】SIEM -Security Information and Event Management 工具是什么?
前端·安全·web安全
上海云盾-小余3 小时前
DDoS 攻击全解析:常见类型识别与分层防御思路
网络协议·tcp/ip·安全·ddos
恋猫de小郭3 小时前
Android 上为什么主题字体对 Flutter 不生效,对 Compose 生效?Flutter 中文字体问题修复
android·前端·flutter
三少爷的鞋3 小时前
不要让调用方承担你本该承担的复杂度 —— Android Data 层设计原则
android
李李李勃谦3 小时前
Flutter 框架跨平台鸿蒙开发 - 创意灵感收集
android·flutter·harmonyos
www4393 小时前
Vulinbox(敏感信息与敏感文件泄露)
安全