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

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


当前回答

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

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

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

其他回答

几年前,一位朋友给了我一把他发现的旧斧头,希望我告诉他这是一件古老的人工制品。所以,我在谷歌上搜索了一些可能有助于识别的网站,得到了一个链接到英国中部某处的博物馆网站。

只不过它把我放到的那个页面给了我整个网站的完全管理员权限。作为一个负责任的人,我更改了账户所有者的名字,这样他们就知道我不是在胡说八道,并给他们发了一封电子邮件,建议他们在更恶毒的人发现之前,把让我进入的漏洞堵上。

不用说,我收到了网站所有者的一封非常感谢的电子邮件,开发人员向他保证,错误已经被发现并修复了。尽管你不得不怀疑一个如此粗心大意的人的能力。

我曾经做过一份工作,其中有一个用Java代码编写的安全层,用于检查用户是否有权编辑DB表列。这是函数的样子:

public boolean canEdit(User user, DBColumn column) {
    if(true) {
        return true;
    } else {
        return false;
    }
}

一个使用faces和managedbean的应用程序。用于编辑已经登录的用户的bean与自注册表单使用的bean相同,其中两个隐藏字段是唯一的区别。的意思吗?如果你得到了某人的证件号码(相当于美国的社会安全号),你就可以修改他们的密码。

简单地说

exec unchecked_parameter_from_the_web

在Python中解析用户给出的字典字面量。那真的很可怕。

我以前的学校有学生的密码和他们的用户名一样,加上很容易得到他们的用户名(一个数字,例如123233),然后你可以点击添加列,找到学生的名字和姓氏,以及他们的用户名。因此,很容易在他们的账户中随机放入垃圾,让他们认为“机器里有鬼”。