XXE(外部实体注入攻击)

XXE

  • 什么是XXE
  • 利用方法
  • 进阶
  • 学习
  • 防御
        • 理论上的防御措施
        • 实践有效的防御措施

什么是XXE

XXE:XML External Entity 即外部实体,从安全角度理解成XML External Entity attack 外部实体注入攻击。由于程序在解析输入的XML数据时,解析了攻击者伪造的外部实体而产生的。

利用方法

file:///C:/Windows/win.ini



]>
&xxe;



]>
&xxe;


%remote;
]>

  test&send;

进阶

学习

XML实体注入漏洞攻与防
XXE(XML External Entity attack)XML外部实体注入攻击
XXE漏洞利用技巧:从XML到远程代码执行

防御

理论上的防御措施

  1. 禁用外部实体
  2. 过滤和验证用户提交的xml数据
  3. 不允许xml中含有任何自己声明的dtd

实践有效的防御措施

配置xml parser只能使用静态dtd,禁止外来引入

以java为例,通过设置相应的属性值为false

DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setExpandEntityReferences(false);

你可能感兴趣的:(web安全总结)