大连网站建设网站建设,高端建设网站建设,入门 做网站 书籍,淘宝自己建的网站漏洞名称#xff1a;XML注入
漏洞描述#xff1a;可扩展标记语言 (Extensible Markup Language, XML) #xff0c;用于标记电子文件使其具 有结构性的标记语言#xff0c;可以用来标记数据、定义数据类型#xff0c;是一种允许用户对自己的标记语言进行定义的源语言。 XM…漏洞名称XML注入
漏洞描述可扩展标记语言 (Extensible Markup Language, XML) 用于标记电子文件使其具 有结构性的标记语言可以用来标记数据、定义数据类型是一种允许用户对自己的标记语言进行定义的源语言。 XML是标准通用标记语言 (SGML) 的子集非常适合Web 传输。XML 提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。发现目前一些普遍使用xml的场景中都存在一种古老的XML实体注入漏洞这可能导致较为严重的安全问题使得攻击者可能可以任意访问服务器以及应用所在网络的任何资源
检测条件
1、 被测网站使用可扩展标记语言。
检测方法
1、 通过手工篡改网站中xml实体中的头部加入相关的读取文件或者是链接或者是 命 令 执 行 等 如 file:///path/to/file.ext http://url/file.ext php://filter/readconvert.base64-encode/resourceconf.php类似如下代码所示
?xml version1.0 encodingutf-8?
!DOCTYPE nsfocus-sec [
!ELEMENT methodname ANY
!ENTITY xxe SYSTEM file:///etc/passwd ]
methodcall
methodnamexxe;/methodname
/methodcall
篡改以后如果可读取file文件或者达到植入的命令效果则说明存在该漏洞。
修复方案
建议采取以下方式进行修复。
1、 检查所使用的底层xml解析库默认禁止外部实体的解析。 2、 增强对系统的监控防止此问题被人利用。 3、 使用第三方应用代码及时升级补丁 4、 对于PHP,由于simplexml_load_string函数的XML解析问题出在libxml库上,所以加载实体前可以调用这样一个函数以进行防护参考代码 对于XMLReader和DOM方式解析,可以参考如下代码:
?php
// with the XMLReader functionality:
$doc XMLReader::xml($badXml,UTF-8,LIBXML_NONET);
// with the DOM functionality:
$dom new DOMDocument();
$dom-loadXML($badXml,LIBXML_DTDLOAD|LIBXML_DTDATTR);
?