Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2018-25031 — 基于Python的概念验证脚本,演示Swagger UI中的CVE-2018-25031 XSS漏洞,使用Selenium在多个端点上进行自动化检测。 | Kitploit
工具/GitHubGitHub/lucasrenaa/cve-2018-25031
漏洞分析漏洞利用Web应用程序漏洞利用Web安全学习与教育API 安全
GitHublucasrenaa/cve-2018-25031

CVE-2018-25031

基于Python的概念验证脚本,演示Swagger UI中的CVE-2018-25031 XSS漏洞,使用Selenium在多个端点上进行自动化检测。

查看仓库
42年前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Swagger UI 跨站脚本漏洞 PoC:CVE-2018-25031 使用 Python 的 Selenium

此仓库包含一个 Python 脚本,演示了 Swagger UI 中跨站脚本 (XSS) 漏洞的概念验证 (PoC),使用了 Selenium 库。本 PoC 的目标是通过利用包含恶意负载的 Swagger UI 来识别易受此漏洞影响的网站。

Swagger UI 中的跨站脚本 (XSS) 漏洞

Swagger UI 是一款广泛使用的工具,用于通过友好的用户界面来查看和与 API 交互。然而,在 2.9.2 版本中,发现了一个跨站脚本 (XSS) 漏洞,攻击者可能利用该漏洞向加载的 Swagger UI 页面中注入恶意 JavaScript 代码。

当应用程序在将用户输入的数据显示到页面之前未进行充分验证时,就会发生 XSS。在这种情况下,攻击者可以通过在 Swagger UI 的输入字段中插入恶意 JavaScript 代码来利用该漏洞,这些代码将在访问同一被攻击页面的其他用户的浏览器上下文中执行。

Swagger UI XSS 示例

注意: 上图展示了一个示例,说明攻击者如何利用受影响版本中的安全漏洞,在 Swagger UI 中插入 XSS 负载。

缓解与解决方案

缓解此漏洞最有效的方法是确保 Swagger UI 已更新到不受影响的版本。请查看最新版本的 Swagger UI 并始终保持更新。

对于希望使用或自定义 Swagger UI 的开发者来说,至关重要的是在将输入数据显示到界面之前对其进行正确的验证。避免直接渲染用户输入的 HTML 或 JavaScript 是预防 XSS 漏洞的推荐做法。

利用示例

以下是一个简化的示例,说明如何利用 Swagger UI 的漏洞:

  1. 攻击者访问易受攻击的 Swagger UI。
  2. 攻击者找到一个可以输入文本的输入字段。
  3. 攻击者在 URL 中注入 XSS 负载,例如:http://127.0.0.1:8080/swagger-ui.html?configUrl=https://xss.smarpo.com/test.json
  4. 当其他用户访问同一被攻击页面时,XSS 负载会在其浏览器中执行,并显示包含“Vulnerabilidade de XSS”消息的弹窗。

警告

本节仅用于教育和信息目的。请勿鼓励或参与恶意或非法活动。报告漏洞时请始终遵循负责任的披露实践。

前置条件

在运行脚本之前,请确保已安装以下前置条件:

  • Python:确保你的机器上已安装 Python。
  • Selenium:使用以下命令安装 Selenium 库:
    root@kitploit:~
    pip install selenium
    
  • ChromeDriver:确保已安装兼容的 ChromeDriver。你可以从 Selenium 官方网站下载 ChromeDriver,或使用 WebDriver Manager 等包管理器。

如何使用脚本

  1. 将此仓库克隆或下载到你的机器上。

  2. 编辑 sites_para_testar.txt 文件,输入你想要测试的网站 URL,每行一个。

  3. 在仓库文件夹中打开终端,并使用以下命令运行脚本:

    root@kitploit:~
    python main.py
    
  4. 脚本将遍历 sites_para_testar.txt 文件中列出的网站,访问其 Swagger UI URL,并检查是否检测到 XSS 弹窗。结果将记录在三个文件中:valido.txt(可能易受攻击的 URL)、talvezvalido.txt(可能易受攻击的 URL)和 naovalido.txt(不易受攻击的 URL)。

理解脚本

该脚本使用 Selenium 库自动化与 Chrome 浏览器的交互。它加载 sites_para_testar.txt 文件中配置的 Swagger UI URL,向 configUrl 参数添加恶意负载,并检查是否触发了 XSS 弹窗。

脚本按以下步骤执行:

  1. 从 Selenium 和其他依赖项导入必要的库。

  2. 配置 ChromeDriver 选项以忽略 SSL 和证书错误。

  3. 初始化 Chrome 驱动器。

  4. 从 sites_para_testar.txt 文件读取要测试的网站,并迭代处理。

  5. 打开每个添加了恶意负载的 Swagger UI URL。

  6. 尝试检查是否触发了 XSS 弹窗。

  7. 根据检查结果,将 URL 记录到 valido.txt、talvezvalido.txt 或 naovalido.txt 文件中。

  8. 关闭 Chrome 驱动器。

法律声明

此脚本仅供教育和网络安全意识目的使用。不得用于恶意或非法目的。作者不对任何滥用此脚本的行为或使用该脚本造成的任何损害负责。

贡献

如果你发现任何改进此脚本的方法或有建议,欢迎提交拉取请求。

许可证

本项目采用 MIT 许可证 授权。

下载工具