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

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


当前回答

其中一个最简单,但真正值得付出代价的是:

使用PayPal等引擎的支付系统可能存在缺陷,因为在支付成功后,PayPal的响应没有得到应有的检查。

例如:

我可以进入一些CD购买网站,向购物车中添加一些内容,然后在结帐阶段,页面上通常会出现一个表单,其中包含paypal的字段,以及“支付”的提交按钮。

使用DOM编辑器,我可以进入“live”表单,将值从£899.00更改为£0.01,然后单击提交…

当我在PayPal的时候,我可以看到金额是1美分,所以我支付了,PayPal将一些参数重定向到初始购买网站,该网站只验证诸如payment_status=1等参数,而不验证支付的金额。

如果没有足够的日志记录,或者产品是自动分派的,那么成本就会很高。

最糟糕的一类网站是提供应用程序、软件、音乐等的网站。

其他回答

按下Windows 98登录屏幕上的取消按钮,你就可以进入系统了。

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

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

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

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

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

微软鲍勃 (来源: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

Windows 95和98有史上最严重的漏洞。如果你只是按下取消,你将以管理员权限登录:)在我爸爸的工作中度过了美好的时光:D