41、WEB攻防——通用漏洞&XML&XXE&无回显&DTD实体&伪协议&代码审计

文章目录

  • XXE原理&探针&利用
    • XXE读取文件
    • XXE带外测试
    • XXE实体引用
    • XXE挖掘
    • XXE修复

41、WEB攻防——通用漏洞&XML&XXE&无回显&DTD实体&伪协议&代码审计_第1张图片
41、WEB攻防——通用漏洞&XML&XXE&无回显&DTD实体&伪协议&代码审计_第2张图片

参考资料:CTF XXE

XXE原理&探针&利用

XXE用到的重点知识是XML,XML被设计为传输和存储数据,XML文档结构包括XML声明、DTD文档类型定义(可选)、文档元素,其焦点是数据的内容,其把数据从HTML分离,是独立于软件和硬件的信息传输工具。XXE(XML External Entity Injection,即xml外部实体注入漏洞),XXE漏洞发生在应用程序解析XML输入时,没有禁止外部实体的加载,导致可加载恶意外部文件,造成文件读取(主要)、内网端口扫描、攻击内网网站等危害。

XML和HTML的主要差异:

  • XML被设计为传输和存储数据,其焦点是数据的内容;
  • HTML被设计用来显示数据,其焦点是数据的外观;
  • HTML旨在显示信息,而XML旨在传输信息。

抓取数据包,查看AcceptX-Requested-With可以看出传输XML数据。
41、WEB攻防——通用漏洞&XML&XXE&无回显&DTD实体&伪协议&代码审计_第3张图片

XXE读取文件

DOCTYPE Mikasa []><user><username>&test;username><password>Mikasapassword>user>

41、WEB攻防——通用漏洞&XML&XXE&无回显&DTD实体&伪协议&代码审计_第4张图片

具体请看CTF XXE

XXE带外测试

DOCTYPE Mikasa [<!ENTITY test [ % file SYSTEM ">"]> %file;]><user><username>&send;username><password>Mikasapassword>user>

41、WEB攻防——通用漏洞&XML&XXE&无回显&DTD实体&伪协议&代码审计_第5张图片

41、WEB攻防——通用漏洞&XML&XXE&无回显&DTD实体&伪协议&代码审计_第6张图片
当读取文件前端页面无回显的时候,就需要使用带外进行测试。例如,注释掉输出语句,前端将不会显示读取的内容。
41、WEB攻防——通用漏洞&XML&XXE&无回显&DTD实体&伪协议&代码审计_第7张图片
再次读取将没有回显。没有回显,可能原因:1、代码写错了;2、文件路径、文件不存在;3、不回显。
41、WEB攻防——通用漏洞&XML&XXE&无回显&DTD实体&伪协议&代码审计_第8张图片
带外测试就能证明漏洞存在。,带外测试也不会有回显,但是DNSlog上会有记录。
41、WEB攻防——通用漏洞&XML&XXE&无回显&DTD实体&伪协议&代码审计_第9张图片
41、WEB攻防——通用漏洞&XML&XXE&无回显&DTD实体&伪协议&代码审计_第10张图片

XXE实体引用

带外只能判断漏洞存不存在,读取文件时如何显示文件呢?实体引用
41、WEB攻防——通用漏洞&XML&XXE&无回显&DTD实体&伪协议&代码审计_第11张图片
在这里插入图片描述
41、WEB攻防——通用漏洞&XML&XXE&无回显&DTD实体&伪协议&代码审计_第12张图片
发送xml实体引用,目标文件的内容将会保存到file.txt中。
41、WEB攻防——通用漏洞&XML&XXE&无回显&DTD实体&伪协议&代码审计_第13张图片

XXE挖掘

41、WEB攻防——通用漏洞&XML&XXE&无回显&DTD实体&伪协议&代码审计_第14张图片

主要是找XML解析函数

XXE修复

41、WEB攻防——通用漏洞&XML&XXE&无回显&DTD实体&伪协议&代码审计_第15张图片

你可能感兴趣的:(小迪安全,前端,xml,网络)