你见过的最糟糕的安全漏洞是什么?为了保护罪犯,限制细节可能是个好主意。
不管怎样,这里有一个关于如果你发现了安全漏洞该怎么办的问题,还有一个关于如果公司(似乎)没有回应该怎么办的问题。
你见过的最糟糕的安全漏洞是什么?为了保护罪犯,限制细节可能是个好主意。
不管怎样,这里有一个关于如果你发现了安全漏洞该怎么办的问题,还有一个关于如果公司(似乎)没有回应该怎么办的问题。
当前回答
if( $session['role'] = "admin" ) //grant admin rights
只要少一个字符(“=”而不是“==”),就可以向登录的任何人授予管理权限。你是有罪的。
其他回答
The worst security hole I've seen was from a (very very bad) hosting company. And even worse it was just some months ago (summer 2010)! You had to first connect to your hosting package control panel (you needed valid credentials). Once logged in all you had to change was the id GET token from the URL and voilà, you're in the control panel of another user! You have access (save/edit/delete) to emails, files, databases. The ids were sequential so you only have to do +1 and you're in the next account. I hope someone have been fired for this!
这是我和他们一起经历过的众多WTF之一!幸运的是,我不是他们的顾客!
在签名代码中:
System.setSecurityManager(null);
(你可以通过谷歌代码搜索。)从进程中运行的所有代码中删除所有Java安全限制。可能没有想清楚。
我希望你能发现这里的问题。(事实上,大错特错):
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);
}
最后一个接受者是最幸福的;)
我认为超级用户访问的空白用户名/密码字段是迄今为止最糟糕的。但我亲眼看到的是
if (password.equals(requestpassword) || username.equals(requestusername))
{
login = true;
}
太糟糕了,一个操作员就有这么大的不同。
我的一家公用事业公司在他们的信用卡表单中没有使用自动完成="off"。
当然,他们不会存储你的信用卡信息(一件好事),但想象一下当我支付第二个月的账单时,我有多害怕,我的浏览器竟然为我填写整个信用卡号码……