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

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


当前回答

有一家银行通过其网站提供一些服务。开发人员考虑了任何作为整个系统的有效用户登录的人,他们使用URL来识别账号,因此只需更改URL上的ID,就可以查看其他账户的余额。

对于认为身份验证和授权是一回事的web开发人员来说,这是非常糟糕的。

此外,银行不通过其网站转账也很好,否则有些人会很富有;-)

其他回答

我曾经打电话给一个BBS,它在首页上有一个“Drop To DOS”选项。菜单上没有列出来,但我打错了,无意中找到了。

然后我可以远程访问这家伙的DOS命令行。

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

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

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

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

我们有一个客户要求根据特定的HTTP引用器自动登录。所以你和我必须登录,但如果你点击了一个特定网站的链接,你就会自动以默认用户登录。

几年前,一所学校托管了一个学习平台网站,可以上传。php文件到网站上,然后再执行,所以他们给了你整个网站的完全访问权限。还没有被其他学生发现,我认为这个错误仍然存在。

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

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);
}

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