你见过的最糟糕的安全漏洞是什么?为了保护罪犯,限制细节可能是个好主意。

不管怎样,这里有一个关于如果你发现了安全漏洞该怎么办的问题,还有一个关于如果公司(似乎)没有回应该怎么办的问题。


当前回答

我投票给Ken Thompson的UNIX“后门”。

这里有一个链接,有人可以从中了解更多信息: 汤普森木马编译器

我之所以认为这是最糟糕的,是因为在那个时候,法官们认为,在这种事情上取得进展的最好方法是公开讨论。

这一切只是教会了一群脚本小子一个新的非常强大的技巧。

其他回答

曾经看到一扇门有人忘记锁门……

或者,看到一些JavaScript通过Ajax调用执行一些SQL。唯一的问题是,要运行的SQL与页面一起呈现,然后传递给服务…

不是最坏的,但也足以造成一些真正的损害。你会惊讶于这一点被忽视的频率有多高。特别是当人们使用这些流行的框架时,

yourwebapp.com/items/edit.php?id=4
yourwebapp.com/items/delete.php?id=4

不确定项的所有者是请求页面的人。 也就是说,你可以登录你的账户,然后在整个应用程序中编辑或删除任何人的项目。

一个简单的检查可以防止很多损坏。

$item = // find your item by the $_GET[ 'id' ];

if( $_SESSION[ 'user_id' ] != $item[ 'user_id' ] ){
  // kick em out they dont belong...
}

我曾经在一个名为ROL的本地互联网门户网站上发现了一个漏洞。RO(罗马尼亚在线-当时由PCNET拥有)。他们有一个免费的网络邮件系统。我想要一个特定的用户名(很容易猜到是哪个),但它已经被占用了。

出于好奇,我进入了“忘记密码”页面,输入了我想要的(但已被占用的)用户名。然后,在提交时,我看到了一个空白的安全问题。

哇……让我们看看他们是不是很差劲。我确保答案文本框为空,然后提交

“恭喜你,输入你的新密码”。

我输入了密码,劫持了账户。


可能发生在他们的…PHP脚本是他们比较从数据库(在答案-当然他们保持在明文)的空字符串提交我。让它们“相等”引导我进入下一步,重置密码。

是的,站不住脚的。

这不是安全漏洞,而是那些把自己的产品标榜为高安全性的公司的安全耻辱(这是他们的主要特征之一)

这是关于“安全登录”的页面为合作伙伴。是这样的:

第一次你通过电子邮件获得明文密码,一旦你登录,你当然不会在第一屏幕上阅读废话,你只是跑去找你要找的东西(文档或软件),然后注销。

但这里有个技巧,下次你尝试登录时,你的密码不再有效,因为你应该有新密码,他们每次都会在你的个人资料下发布在网站上。所以在交换了几封电子邮件后,他们给我发了大约30个列举的一次密码列表,我每次只能使用一次。(我花了一周时间和几封邮件重新协商这个列表)

所以我打印了这个密码列表,贴在我桌子前的墙上,每次登录时我都用钢笔涂掉一个密码。我可不想有人从我桌前走过看到这份名单。

当关键IT员工离开公司时,不更改管理密码。