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

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


当前回答

最近,我被要求对一家公司的网站进行代码审查,希望我的雇主把这个网站作为一个维护项目。

我没花多长时间就发现了网站根目录下的纯文本文件,其中包含大约6000个客户的信用卡详细信息,包括账单名称、地址和CVV代码。它的名字甚至都没有想象力!

这是该网站最糟糕的问题,但它也充满了SQL注入问题。

我们礼貌地指出了这些问题,网站所有者将其退回到原始开发人员那里寻求解释。

其他回答

不是最坏的,但也足以造成一些真正的损害。你会惊讶于这一点被忽视的频率有多高。特别是当人们使用这些流行的框架时,

yourwebapp.com/items/edit.php?id=4
yourwebapp.com/items/delete.php?id=4

不确定项的所有者是请求页面的人。 也就是说,你可以登录你的账户,然后在整个应用程序中编辑或删除任何人的项目。

一个简单的检查可以防止很多损坏。

$item = // find your item by the $_GET[ 'id' ];

if( $_SESSION[ 'user_id' ] != $item[ 'user_id' ] ){
  // kick em out they dont belong...
}

前一段时间,JPG图像加载库的窗口存在安全漏洞。被电子邮件中的图像感染。消

这是我在微软早期的真实故事。

直到有一天你醒来,看到ZDNet.com上的头条是“在'Blah'中发现了有史以来最严重的ie安全漏洞”,你才知道什么是恐惧,而'Blah'是你六个月前自己写的代码。

在开始工作后,我立即检查了更改日志,发现另一个团队中的某人——我们信任的对产品进行更改的人——签出了我的代码,毫无理由地更改了一堆安全注册表项设置,重新签入,并且从未得到代码审查或告诉任何人。直到今天,我还不知道他到底在做什么;此后不久,他就离开了公司。(自愿的。)

(更新:对评论中提出的问题进行了一些回应:

首先,请注意,我选择采取宽容的立场,即安全密钥的更改是无意的,是基于粗心或不熟悉,而不是恶意的。我没有这样或那样的证据,我相信把错误归咎于人的易犯错误是明智的。

其次,我们现在的签到系统比12年前强大得多。例如,如果签入系统不将更改列表通过电子邮件发送给相关方,现在就不可能签入代码。特别是,在开发周期后期所做的更改有很多“流程”,这确保了所做的更改是正确的,以确保产品的稳定性和安全性。)

Anyway, the bug was that an object which was NOT safe to be used from Internet Explorer had been accidentally released as being marked "safe for scripting". The object was capable of writing binary files -- OLE Automation type libraries, in fact -- to arbitrary disk locations. This meant that an attacker could craft a type library that contained certain strings of hostile code, save it to a path that was a known executable location, give it the extension of something that would cause a script to run, and hope that somehow the user would accidentally run the code. I do not know of any successful "real world" attacks that used this vulnerability, but it was possible to craft a working exploit with it.

让我告诉你,我们很快就为这款游戏发布了补丁。

我在JScript中造成并随后修复了更多的安全漏洞,但它们都没有得到应有的宣传。

XSS是我喜欢在网站上找到的东西。

下面是我的发现日志的链接:

所有:http://xssed.com/archive/author=Dr.Optix

只有特色菜:http://xssed.com/archive/special=1/author=Dr.Optix/

祝你浏览愉快!

访问一个非常有名的在线商店的联系页面,向下滚动,搜索一个电话号码。相反,我发现了一个上传表单,它接受所有的文件类型,实际上把上传的文件放在网站的根文件夹中,这意味着如果一个人上传了一个名为test.php的文件,它将被url mydomain.com/test.php调用:)

由于他们使用osCommerce(开源),因此编写一个脚本来获取所有数据库连接细节,然后下载他们完整的客户数据表,对于任何有足够智商的人来说,这将是不到五分钟的工作。

我联系了他们,最后得到了我下次购买的折扣券,他们在几分钟内删除了上传表单。