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

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


当前回答

去了一个汽车经销商的付费网站,会员费很高。只要用“test”作为用户名,用“Test1”作为密码。我进去了。

其他回答

我认为超级用户访问的空白用户名/密码字段是迄今为止最糟糕的。但我亲眼看到的是

if (password.equals(requestpassword) || username.equals(requestusername))
{
    login = true;
}

太糟糕了,一个操作员就有这么大的不同。

我继承了一个客户项目来照看:一个ASP。网项目 (构建于1.1),其中50%是编译DLL(没有编译DLL) 源代码)和50%的JIT编译后代码。

整个网站应该只对会员开放——除了 原来的开发人员已经建立了一个后门:只需提交 用空白的用户名和密码登录表单,你就会 找到自己作为一个秘密的超级管理员登录:做 什么都看,什么都看。

您猜对了:所有的身份验证代码都被隐藏了 在预编译的DLL中。最糟糕的是当我 被告知“它不在bug列表中,那么客户端呢? 不会付钱,所以离开它”。我照做了,现在还在直播 今天。

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

直到有一天你醒来,看到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中造成并随后修复了更多的安全漏洞,但它们都没有得到应有的宣传。

去年,我发现我所在的公司用来处理支票/报表的网站充满了SQL注入漏洞。

不用说,他们很快就把洞补好了。

在我以前工作的店里有个不错的。通往非公共区域的门有小键盘,所以你必须输入pin码才能进入。然而,你只需按#,门就会打开,这是我们喜欢的事实,因为按#比按6位pin码容易得多。