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

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


当前回答

微软鲍勃 (来源:Dan's 20th Century Abandonware)

如果您第三次输入密码错误,系统将询问您是否忘记密码。

http://img132.yfrog.com/img132/8397/msbob10asignin15.gif

但是,你可以输入任何新密码,它会替换原来的密码,而不是像继续提示输入正确的密码,直到输入正确的密码,或者在多次尝试错误后锁定你!任何人都可以用任何密码“保护”的Microsoft Bob帐户这样做。

不需要事先进行身份验证。 他的意思是,用户1只需要三次输入密码错误,然后第四次输入新密码就可以更改自己的密码,而不必使用“更改密码”。

这也意味着User1可以修改User2, User3…以完全相同的方式。任何用户都可以更改其他用户的密码,只要输入三次错误密码,然后在出现提示时输入新密码,然后他们就可以访问该帐户。

http://img132.yfrog.com/img132/9851/msbob10asignin16.gif

其他回答

这里可能有一点轶事故事(但因为这是我发现的最糟糕的安全漏洞)…

有一家公司向许多公司/组织(不幸的是包括我们)出售定制CMS(用于网站)。他们使用了相当多的(主要是“LGPL”)他们自己没有制作的组件。很多客户(包括政府)。

正确处理了访问网站不同部分(以及CMS管理系统)的身份验证。 他们在CMS中使用了FCKEditor实例(允许非html保存的用户编辑网页)。 他们还使用FCKEditor的“上传连接器”脚本,允许用户添加文档,图像等。到现场。这个脚本的url是硬编码在一个公开可见的javascript包含中。 他们无法对带有上传脚本的url进行身份验证。

结果:在他们建立的每个网站上,用户都可以(不需要输入任何凭据)修改/删除/更改/上传网站上的每一个文档/文件和/或图像。

我们一发现这个漏洞就立即报告了,所以它可能不会导致直接损害(但很容易)。

我的任务是发现一个用于报告的ODBC DSN,其中密码与用户匹配,并且用户属于数据库服务器管理组。

因此,任何具有此ODBC DSN的PC都可以使用任何ODBC兼容工具通过报表用户读取/更改所有数据(甚至更糟)。不需要授权,而且身份验证非常弱。

我在一家公立医院工作,这个软件几乎安装在该州每家政府医院的每一台电脑上,数据库服务器包含各种敏感的医疗数据(完整的患者详细信息、实验室测试结果等)。

最糟糕的是,我们悄无声息地报告了安全漏洞,然后正式报告,但在我继续在那里工作的2年里,它仍然没有修复,那已经是5年前的事了。

我希望你能发现这里的问题。(事实上,大错特错):

String emailBody = "";

for (int i = 0; i < subscribers.Count; i++)
{
    emailBody += "Hello " + subscribers[i].FirstName + ",";
    emailBody += "this is a reminder with your account information: \n\n:";
    emailBody += "Your username: " + subscribers[i].Username + "\n";
    emailBody += "Your password: " + subscribers[i].Password + "\n";
    emailBody += "Have a great day!";

    emailDispatcher.Send(subscribers[i].EmailAddress, emailBody);
}

最后一个接受者是最幸福的;)

2007年,一家相当大的机构的国防部网站出现了错误配置,导致IIS web服务器提供原始代码,主页中有硬编码的用户名/密码和数据库服务器信息。幸运的是,它很快就被抓住了,但我确实目睹了它,这非常令人震惊。不用说,他们的网站被网络工程师关闭了,直到开发人员修复了糟糕的代码。

一位同学曾经不小心把密码发到了推特上……那是个很严重的安全漏洞。