在“通过 SQL 注入绕过机场安检”一文中,两名安全研究人员最近展示了他们如何对一项服务执行简单的 SQL 注入攻击,使飞行员和空乘人员能够绕过机场的安检。据研究人员称,这一漏洞能允许他们创建虚拟用户,使他们能够跳过安检,并有可能进入商用客机的驾驶舱。
安全研究人员 Ian Carroll(Seats.aero 的创始人)和 Sam Curry(黑客兼漏洞赏金猎人)在 FlyCASS 中发现了一个漏洞,FlyCASS 是一种第三方基于 Web 的服务,
一些航空公司使用它来管理已知机组人员(Known Crewmember,KCM)计划和驾驶舱访问安全系统(Cockpit Access Security System,CASS)。
KCM 是美国运输安全管理局(Transportation Security Administration,TSA)的一项倡议,允许飞行员和空乘人员绕过安检,而 CASS 则允许飞行员在飞行时使用驾驶舱内的逃生座椅。Carroll 解释说:
就业状况检查是这些流程中最关键的组成部分。如果某人目前不在航空公司工作,那么他们就没有接受过背景调查,就不应该被允许绕过安检或进入驾驶舱。
研究人员在调查管理授权系统的供应商时,发现了 FlyCASS,这是一个为小型航空公司设计的平台,提供基于 Web 界面的网站。Carroll 写道:
有趣的是,我们注意到每家航空公司都有自己的登录页面,例如国际航空运输公司(8C)的登录页面可以在 /ati 上找到。由于只暴露了一个登录页面,我们认为我们已经走到了死胡同。不过,为了确保万无一失,我们在用户名中尝试输入一个单引号作为 SQL 注入测试,并立即收到了 MySQL 错误。
由于用户名被直接插入到了登录 SQL 查询中,研究人员能够以管理员身份登录 FlyCASS。由于 FlyCASS 同时管理其参与的航空公司的 KCM 和 CASS 系统,因此他们可以访问和管理与这些航空公司相关的飞行员和空乘人员名单。此外,他们发现,无需进一步的检查或身份验证即可为航空公司添加新员工。Carroll 写道:
作为航空公司的管理员,我们可以将任何人添加为 KCM 和 CASS 的授权用户。
来源:Carroll 的博客
SQL 注入(SQL Injection)是一种常见的安全漏洞,当攻击者提供的数据作为 SQL 代码执行时,就会引发这种漏洞。在一个很受欢迎的 Reddit 帖子 中,大多数用户讨论后认为这种攻击不太可能发生在现代 Web 应用程序上,其中一位用户 martijnonreddit 写道:
在 2024 年,在如此关键的系统中,会出现可见的基于错误的 SQL 注入?这简直骇人听闻。这值得更多关注。
在 另一个帖子 中,用户 k-mcm 补充道:
在过去的 20 年里,SQL 注入在任何事情上都是有效的,这一事实简直荒谬至极...... 你必须竭尽全力才能把这件事搞砸。
Carroll 的文章中有很大一部分是专门讨论披露的挑战的,包括安全研究人员在确定适当的联系点时所面临的困难以及国土安全部(Department of Homeland Security)的反应:
我们在 4 月 23 日向国土安全部披露了这个问题,国土安全部承认了这一问题,并确认他们会“非常认真地对待这个问题”。FlyCASS 随后在 KCM/CASS 中被禁用,后来似乎已经解决了这一问题(......)在问题得到解决后,我们试图协调该问题的安全披露。不幸的是,国土安全部没有与我们合作,而是停止了对我们的回应,美国运输安全管理局(TSA)新闻办公室就这一漏洞发表了危险的错误声明,否认了我们所发现的漏洞。
虽然研究人员声称“美国运输安全管理局(TSA)试图掩盖我们的发现”,但美国运输安全局强调,他们的系统并不完全依赖于这个数据库来验证机组人员的身份。在研究人员的报告发布后,软件工程师兼安全研究员 Alesandro Ortiz 报告称,FlyCASS 似乎在 2 月份遭受了 MedusaLocker 勒索软件攻击,分析结果揭示了加密文件和勒索信。
Rafal Gancarz 是一位经验丰富的技术领导者和专家。他目前正在帮助星巴克打造具有可扩展性、弹性和成本效益的商务平台。此前,Rafal 曾为思科、埃森哲、凯德、ICE、Callsign 等公司设计和构建大规模、分布式和基于云的系统。他的兴趣涵盖了架构与设计、持续交付、可观测性和可操作性,以及软件交付的社会技术和组织方面。
原文链接:
https://www.infoq.com/news/2024/09/sql-injection-airport-security/
声明:本文为 InfoQ 翻译整理,未经许可禁止转载。
下载量超 5000 万的知名应用,开发团队“全军覆没”,从此发版人唯剩老板一个