12-XXE漏洞
2024-10-22 13:33:27
1.概述
<!--第一部分:XML声明-->
<?xml version="1.0"?>
<!--第二部分:文档类型定义DTD-->
<!DOCTYPE note [ <!--定义此文档是 note 类型的文档-->
<!ENTITY entity-name SYSTEM "URL/URL"> <!--外部实体声明-->
]]]>
<!--第三部分:文档元素-->
<note>
<to>Dave</to>
<from>Tom</from>
<head>Reminder</head>
<body>You are a good man</body>
</note> DTD:Document Type Definition 即文档类型定义,用来为XML文档定义语义约束。
1. DTD 内部声明
<!DOCTYPE 根元素 [元素声明]> 2. DTD 外部引用
<!DOCTYPE 根元素名称 SYSTEM “外部DTD的URI”>
3. 引用公共DTD
<!DOCTYPE 根元素名称 PUBLIC “DTD标识名” “公用DTD的URI”> 外部实体引用payload:
<?xml version = "1.0"?>
<!DOCTYPE ANY [
<!ENTITY f SYSTEM "file:///etc/passwd">
]>
<x>&f;</x>
外部引用可以支持http,file,ftp等协议。
如果一个接口支持接收xml数据,且没有对xml数据做任何安全上的措施,就可
能导致XXE漏洞。 simplexml_load_string()
函数转换形式良好的 XML 字符串为 SimpleXMLElement 对象
在PHP里面解析xml用的是libxml,其在≥2.9.0的版本中,默认是禁止解析xml外
部实体内容的。
最新文章
- javascript基础01
- [Linux]Linux系统调用列表
- php页面如何增加下载软件功能
- 12个来自 Codrops 的创新交互和动画效果
- Razor练习1
- .net学习笔记---xml序列化
- shell字符串判空
- 转!!java反射机制
- 2层Folder删除问题,父文件夹删不掉
- node.js模块之http模块
- 请列出你在从事IT生涯中,最难以忘怀的一次误操作
- JQ滑动导航菜单的实现
- Ubuntu下Android apk反编译
- Android WebView基本使用
- Burnside引理与Polya定理
- pandas 时间格式转换
- 关于IWMS中遇到的问题及解决方法
- 2018-2019-2 网络对抗技术 20165333 Exp2 后门原理与实践
- 使用 ssmtp 於 shell 透過 Gmail 寄信
- Nginx的安装和设置