侨民面临哪些安全问题?

发布于 2024-09-26 09:29:21 字数 39 浏览 2 评论 0原文

我听到了很多关于侨民安全问题的讨论,有人能总结一下它们是什么吗?

I heard allot of buzz around the security issues with diaspora, can someone summarize what they were?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

黄昏下泛黄的笔记 2024-10-03 09:29:21

他们已经修补了其中的许多漏洞,但实际上整个项目几乎是书中所有基于网络的安全漏洞的混乱。以下是从他们的 alpha 代码发布第一天开始出现的问题的简要概述:

  1. 他们从未验证给定用户是否有权执行任何操作。因此,虽然用户可以访问 /image/123/delete/ 删除自己的图像(其 ID 恰好为 123),但他们只需手动输入 URL /image /1/delete/ 删除 ID 为 1 的图像,即使该图像不是他们的。
  2. 他们使用了 Ruby on Rails 中的快捷功能,该功能允许您将 POST 后的属性批量分配给数据库表,而无需验证这些属性是否确实存在于表单中。因此,虽然个人资料更新页面可能只包含用于更改头像图像和个人描述的字段,但任何具有一点专业知识的人都可以在将 POST 数据发送到服务器之前对其进行修改,并且还可以发送列/值对,例如用户名、密码、会话 ID 等。将其与第 1 点结合起来,如果您知道 URL,则可以修改任何人的数据,并且可以将任何人的私人信息设置为您想要的任何内容。
  3. 他们使用 MongoDB 作为后端。对于不知情的人来说,Mongo 使用 Javascript 来实现某些查询功能。他们获取原始搜索查询字符串,然后在 Mongo 后端执行它们,这将允许任何发送格式良好的 Javascript 作为查询的人真正对数据库执行任何他们想要的操作。

如果您对技术细节感到好奇,请随时访问 自我教育。

They've since patched many of them, but really the whole project was a mess of nearly every web-based security exploit in the book. Here's a quick rundown of the problems from day one of their alpha code release:

  1. They never validated that a given user ever had permission to do anything. So while a user could go to /image/123/delete/ to delete an image of their own (whose ID happened to be 123), they could just manually type in the URL /image/1/delete/ to delete the image with an ID of 1, even if that image wasn't their's.
  2. They used a shortcut feature in Ruby on Rails that allows you to just mass assign POST'ed properties to a database table without validating that those properties were actually in the form. So while a profile update page might just have fields to change an avatar image and bio description, anyone with a little know-how could fiddle with the POST data before it was sent to the server and also send along column/value pairs like username, password, session ID, etc. Combine that with point #1 where you can just modify anyone's data if you know the URL, and you can set anyone's private information to whatever you want.
  3. They used MongoDB for their backend. For the uninformed, Mongo uses Javascript for some of its querying capabilities. They took raw search query strings and just executed them against their Mongo backend, which would allow anyone sending well-formed Javascript as a query to do really whatever they wanted with the database.

If you're curious about the technical details, feel free to educate yourself.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文