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

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


当前回答

作为一个以应用程序安全顾问为生的人,有很多常见的问题让你通过一些东西来管理网站。但真正酷的是你可以买到价值一百万美元的袜子。

这是我的一个朋友的工作,但它的真实情况是,某个现在非常流行的在线图书(和其他所有东西)商店的商品价格被存储在HTML本身作为一个隐藏字段。在早期,这个漏洞困扰了许多在线商店,他们刚刚开始了解网络。几乎没有安全意识,谁会下载HTML,编辑隐藏字段,然后重新提交订单呢?

当然,我们把价格改为0,并订购了100万双袜子。你也可以改变价格为负,但这样做使他们的后端计费软件缓冲区溢出结束交易的一部分。

如果我可以选择另一个,那就是web应用程序中的路径规范化问题。能够执行foo.com?file=../../../ etc/passwd真是太棒了

其他回答

我所见过的最糟糕的漏洞是web应用程序中的一个漏洞,即提供空用户名和密码将以管理员身份登录。

我曾经听说过一个在银行工作的程序员,他们以小数点后16位的精度计算他们的内部数据(包括账户余额)。

所以这个家伙改变了银行转账程序,每笔交易将0.00001美元转到他自己的账户,剩下的转到原来的目的地。我认为他们很快就抓住了他,但我不得不承认,当我第一次听说他的想法时,我觉得它很好。

对我来说,情况并没有那么糟糕,因为数据并不是那么敏感:

我得到了一个Excel文件,里面满是要更新的宏,每个表都是锁定的,宏部分有密码保护。我拿到了密码,但我想我还是试着破解一下吧。

我找到了一个程序,可以在大约十分钟内完成,其中大部分时间可能只是下载时间。这个神奇的产品是什么,能如此快速和轻松地突破Excel安全?OpenOffice.Org。

我不确定Office 2007是否在这一点上有所改进,但让我感到害怕的是,许多非技术人员可能正在使用Excel来操作敏感信息,并认为它是安全的。然而,这些类型的人可能甚至不知道它提供的“安全”功能。

这是我在微软早期的真实故事。

直到有一天你醒来,看到ZDNet.com上的头条是“在'Blah'中发现了有史以来最严重的ie安全漏洞”,你才知道什么是恐惧,而'Blah'是你六个月前自己写的代码。

在开始工作后,我立即检查了更改日志,发现另一个团队中的某人——我们信任的对产品进行更改的人——签出了我的代码,毫无理由地更改了一堆安全注册表项设置,重新签入,并且从未得到代码审查或告诉任何人。直到今天,我还不知道他到底在做什么;此后不久,他就离开了公司。(自愿的。)

(更新:对评论中提出的问题进行了一些回应:

首先,请注意,我选择采取宽容的立场,即安全密钥的更改是无意的,是基于粗心或不熟悉,而不是恶意的。我没有这样或那样的证据,我相信把错误归咎于人的易犯错误是明智的。

其次,我们现在的签到系统比12年前强大得多。例如,如果签入系统不将更改列表通过电子邮件发送给相关方,现在就不可能签入代码。特别是,在开发周期后期所做的更改有很多“流程”,这确保了所做的更改是正确的,以确保产品的稳定性和安全性。)

Anyway, the bug was that an object which was NOT safe to be used from Internet Explorer had been accidentally released as being marked "safe for scripting". The object was capable of writing binary files -- OLE Automation type libraries, in fact -- to arbitrary disk locations. This meant that an attacker could craft a type library that contained certain strings of hostile code, save it to a path that was a known executable location, give it the extension of something that would cause a script to run, and hope that somehow the user would accidentally run the code. I do not know of any successful "real world" attacks that used this vulnerability, but it was possible to craft a working exploit with it.

让我告诉你,我们很快就为这款游戏发布了补丁。

我在JScript中造成并随后修复了更多的安全漏洞,但它们都没有得到应有的宣传。

当我13岁的时候,我的学校为学生开设了一个社交网络。不幸的是,我发现了一个安全漏洞,可以将URI更改为另一个用户id,如“?”userID=123”,并为该用户登录。显然,我告诉了我的朋友们,最后学校的社交网络充满了色情。

不过我不推荐。