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

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


当前回答

我曾经在一个名为ROL的本地互联网门户网站上发现了一个漏洞。RO(罗马尼亚在线-当时由PCNET拥有)。他们有一个免费的网络邮件系统。我想要一个特定的用户名(很容易猜到是哪个),但它已经被占用了。

出于好奇,我进入了“忘记密码”页面,输入了我想要的(但已被占用的)用户名。然后,在提交时,我看到了一个空白的安全问题。

哇……让我们看看他们是不是很差劲。我确保答案文本框为空,然后提交

“恭喜你,输入你的新密码”。

我输入了密码,劫持了账户。


可能发生在他们的…PHP脚本是他们比较从数据库(在答案-当然他们保持在明文)的空字符串提交我。让它们“相等”引导我进入下一步,重置密码。

是的,站不住脚的。

其他回答

严格地说,这不是一个安全漏洞,更多的是一个“功能”,许多新手服务器管理员当时并不知道/关心。

在1999-2001年间,我玩Frontpage玩得很开心,解锁了安装在公共网站上的Frontpage服务器扩展。

当你安装了Frontpage后,你会在ie浏览器中看到这个很好用的“编辑Frontpage”按钮。

当访问一个网站,例如www.foo.com,如果你点击“编辑在Frontpage”按钮在Internet Explorer和服务器管理员没有正确地完成他们的工作,然后Frontpage愉快地打开虚拟目录的完整目录结构,并允许你阅读/编辑内容。

从一个人的乐队到更大的公共组织,这种方法在许多网站上都有效。

当我发现一个开放的服务器时,我总是给“网站管理员”发一封电子邮件,有一次我从一家在线零售商那里得到了一张50英镑的礼券,因为我提醒了他们这一点。

真是令人震惊。

免责声明-我需要指出的是,Frontpage是在标准构建PC上,我是在那些天,不是我自己的选择!

我记得申请大学的通用应用程序网站有这个“安全”功能,它宣布将在一定时间后注销你。但是,他们使用了一个警告框,如果你没有真正回应,就会暂停倒计时,使你的会话无限期。

我不知道这是不是最糟糕的,因为我见过一些非常糟糕的,但是:

几年前,我工作的地方引进了一个叫做FOCUS的系统。不知道它还在不在。它非常适合做报告,我们开发并教了大约一千两个非It人员如何生成他们自己的报告。非常方便。他们可以做基本的报告,一些人可以做中等难度的工作,IT可以帮助处理较难的工作。

所有用于报告的数据都被定期复制到FOCUS自己格式的影子数据库中。对于更敏感的数据,我们设置安全选项,加密数据。一切都很好。

So, one day my boss calls me in, and we've lost the password to one of the sensitive databases. It's going to be hard to reproduce the data in this case, so he asks me to see if I can break the security. I had no experience as a hacker, so it took me about 5 or 6 hours to hand him the password. I started by creating some test files, and encrypting them with different passwords. I found that changing one character in the password would change two bytes in the encrypted file, specifically, the high nybble of one byte, and the low nybble of another byte. Hmmmm, says I. Sure enough, they stored the password somewhere in the first 80 bytes of the encrypted, but obfuscated the password by splitting the bytes into nybbles, and storing them in predictable places.

不久之后,我们就编写了一个REXX脚本,该脚本在VM/CMS系统下运行,可以告诉我们任何加密数据库的密码。

那是很久以前的事了——在90年代初,我相信他们已经解决了这个问题。嗯,非常确定。

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之一!幸运的是,我不是他们的顾客!

曾经看到一扇门有人忘记锁门……

或者,看到一些JavaScript通过Ajax调用执行一些SQL。唯一的问题是,要运行的SQL与页面一起呈现,然后传递给服务…