白帽故事 · 2024年8月30日 0

‘黑掉NASA’【1】:从发现漏洞到荣登名人堂之旅

file

背景介绍

作为一名安全研究员,国外白帽小哥Karthikeyan Nagaraj对漏洞赏金很感兴趣。

几年前,小哥看到了一篇“进入 NASA 名人堂”的帖子,从此能够进入NASA名人堂让他着迷。

从今年6月开始,小哥开始挖掘NASA漏洞,共发现4处漏洞:

  • 2X个信息泄露漏洞 → 重复
  • 2X个安全配置错误漏洞→ 2个被接受

案例1: 打破访问控制

漏洞概述

NASA FRC Grants 门户登录页面包含一个漏洞,允许用户通过客户端操作启用已禁用的“创建帐户”按钮,从而使未经授权的用户能够创建帐户并获得对系统的访问权限。

复现步骤

  • 打开浏览器并访问:
    https://subdomain.acc.nasa.gov/portal/login/

  • 检查创建帐户按钮

  • 右键单击“Create Account”按钮并选择“Inspect”或按 Ctrl+Shift+I 打开开发人员工具

  • 找到与“Create Account”按钮对应的 HTML 元素,HTML元素类似如下:

<button class="btn btn-lg btn-outline-light btn-create w-100" id="createAccount" disabled="">Create Account</button>
  • 从button元素中删除“disabled”属性,编辑后,如下:
<button class="btn btn-lg btn-outline-light btn-create w-100" id="createAccount">Create Account</button>
  • 单击已启用的“Create Account”按钮

  • 在注册页面上填写所需的详细信息

  • 提交表格并检查电子邮件中的激活链接

  • 单击激活链接激活帐户

  • 登录门户,观察该帐户具有额外的用户功能并可以访问以前未授权访问的数据

漏洞修补

  1. 服务器端验证:
  • 确保服务器检查请求的有效性和来源
  • 验证服务器端的所有输入和操作,而不是仅仅依赖客户端控件
  1. 基于令牌的验证:
  • 使用基于令牌的系统来验证帐户创建请求的合法性。例如,生成必须与帐户创建表单一起提交的 CSRF 令牌
  1. 重新启用适当的访问控制:
  • 确保应限制的任何功能必须通过后端逻辑进行适当控制
  • 确保前端状态(如 "disabled "属性)与服务器端检查一致
  1. 监控和警报:
  • 实施监控以检测异常行为,例如创建帐户突然激增,这可能表明此类漏洞正在被利用

未完待续…

以上内容由骨哥翻译并整理。

原文:https://systemweakness.com/how-i-found-vulnerabilities-in-nasa-and-got-into-the-hall-of-fame-4-bugs-78e0fc4cc5cc