Advertisement

实现XXE漏洞修复方案

阅读量:

0X00XXE注入定义

XXE注入,全称为XML External Entity,即XML外部实体注入。借助XML实体中的”SYSTEM”关键字,可促使XML解析器从本地文件或远程URI中提取数据。因此,攻击者可通过构造恶意XML实体内容,并将其传递给处理程序进行解析。当引用外部实体时,若恶意内容被成功解析,则可能引发读取任意文件、执行系统指令、探测内网端口或攻击内网网站等安全风险。

0X01漏洞原理

由于XML具备从外部加载DTD文件的能力,由此可以设想将原本的路径替换为其他文件路径。当服务器在解析该XML时,会将目标文件的内容赋值给SYSTEM关键字前的根元素。只要在XML中设置让根元素内容显示出来的方式,即可实现对目标文件内容的读取,从而形成任意文件读取漏洞。

若所指向的是内网主机的端口,则可能会返回错误信息。通过分析这些错误信息,可判断该端口是否处于开放状态,进而造成内部网络端口被探测的问题。此外,服务器通常存在两种解析XML的方式:一种是将整个XML一次性加载至内存中进行处理;另一种则是采用“流式”方式逐步加载和解析。如果递归调用大量XML定义,则可能导致服务器内存被迅速耗尽,从而引发拒绝服务攻击。

0X02漏洞复现

将测试代码发送至目标测试服务器

复制代码

当存在回显现象时,服务器上的/etc/passwd文件内容将被暴露出来。

在确认出现回

全部评论 (0)

还没有任何评论哟~