数据库安全漏洞最疯狂

文摘   2024-10-18 17:32   上海  

最近,reddit 网的 「r/ExperiencedDevs」社区中,有一篇名为「你发现过哪些最疯狂的安全漏洞?」的帖子,把很多悲伤的故事收集到了评论区,其中也不乏和数据库相关的事故。一起来嘲笑一下吧。

想成为管理员吗

第一个故事涉及的头文件顶部的内容,在一个自定义 PHP 站点的每个页面上调用。该文件以 root 访问权限运行,有三个不同的 rootkit。

它导致:只需在 URL 中输入 &is_admin=true,就可以成为管理员;允许用户上传个人资料图片,但没有对其脱敏,因此任何人可以创建免费账户并上传 PHP 文件。

此外,他们还在数据库中明文存储信用卡信息。包括 CVV。

负责人表示「是的,这不安全,但每当有人抱怨信用卡信息被盗,我们就告诉他们是银行干的。」

而这位讲述者,还是修补了所有这些漏洞,尽管这并不在他的职责范围内。

澳大利亚一半人口的资料库被挂上邮差云

第二个故事是一个疯狂的大型事故。

Optus(澳大利亚第二大电信公司)通过公共 API 端点泄露了澳大利亚几乎一半人口的资料库(约 980 万人)。

  • 连基本认证都没有,完全公开。

  • 可以访问整个数据库,并共享所有详细信息,包括:护照号码、执照、个人信息、信用记录、地址、出生日期等等。

  • (最精彩的部分)在邮差云社区上公开记录和宣传!

这就好比一家实体店敞开大门,没有摄像头、门锁或员工;然后在高速公路上立广告牌,说这家店随时可以洗劫。

同步到所有用户

接下来是一个关于 Java 网络应用程序的故事。

它没有对登录用户名和密码脱敏,也没有对预期只有一个结果的数据库查询进行双重检查(只抓取第一行,即使多个结果表明状态错误也是如此)。

使用星号会关联所有用户,包括管理员,从而创建一个特权会话。这样一来,任意用户的操作,都会同一时间被同步到所有用户。

账户余额可随意修改

最后一个故事发生于以太坊 ICO 热潮期间,是关于一个声称「美国证券交易委员会批准」的 ICO 开源网站的。他们的 Github 库居然是用 Node 编写的完整网络应用程序,包括客户/管理员管理应用程序。

他们的大部分密钥都是环境变量,但有一个数据库种子文件列出了管理员账户的原始邮件地址。还有一个包含验证逻辑的文件,它表示,重置任何现有账户的密码都会将新密码设置为硬编码的静态值。

讲述者在其中一个种子管理邮件上试了一下,结果可以登录。他看到了所有买了这种代币的傻瓜。

这个库还开源了在任何地址(包括令牌合约)上手动转移令牌的功能。讲述者随机选了一个客户账户,将里面的代币余额转到 0x0,在链上看到了反映。

第二天早上,他们的 Github 就被私有化了,他们的网络应用程序上也挂上了占位页。



写在最后:
数据泄露、权限分配错误、意外数据库操作等问题总是层出不穷,令人头疼不已。我们可以看出,上述故事和其他所有事故都是出于同样的粗心大意,有时蠢事就是会不可避免地发生。
这或许说明,规范数据库操作流程仍然是必要的。有了 DevSecOps 工具,一切都会变得更加简单、安全和有序。


Bytebase 2.23.1 - 支持应用变更列表作用到数据库分组
为什么诺贝尔物理学奖颁给了 AI 大神
Bytebase 产品介绍
Bytebase 签约美宜佳,助力便利店连锁巨头规范化数据库变更及访问流程,确保安全及合规



Bytebase
百万下载量的开源 SQL 审核,数据库 DevSecOps 和 CI/CD 团队协同工具,专为开发者, DBA 和安全团队打造。同时被 CNCF Landscape 和 Platform Engineering 组织收录。
 最新文章