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

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


当前回答

"Pedo mellon a minno", "与朋友交谈,然后进入",在摩瑞亚的大门上。

其他回答

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

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

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

public class AuthenticationServlet extends HttpServlet
{
    private String userName;
    private String password;

    protected doPost(HttpServletRequest req, HttpServletResponse resp)
           throws ServletException, IOException
    {
        userName = request.getParameter("userName");
        password = request.getParameter("password");
        authenticateUser(userName,password);
        ......
    }
}

显然,正如有人在自动化负载测试中发现的那样,单例和缺乏同步会导致安全问题。

瑞典的一家在线dvd租赁店在查询字符串中发送了纯sql语句。

如果你在菜单框中选择了“Comedy”类别,它会将“select * from movies where category=2”作为查询字符串发送给movielist-frame,然后执行sql语句并显示所有符合条件的电影。

在您的订单中添加电影时也是如此。

只要将查询更改为“从电影中删除*”和“从订单中删除*”,该公司就会大获成功。

http://apache.org/.svn/entries

令人惊讶的是没有人提到社会工程,但我从这篇文章中得到了乐趣。

总结:恶意用户可以买几十个u盘,在里面装上自动运行的病毒或木马,然后在深夜把这些u盘撒在公司的停车场里。第二天,每个人都来上班,被闪闪发光的、糖果形状的、不可抗拒的硬件绊倒,并对自己说:“哦,哇,免费的闪存盘,我想知道里面有什么!”——20分钟后,整个公司的网络都被冲洗掉了。