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

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


当前回答

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

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

例如:

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

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

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

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

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

其他回答

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

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

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

在这里根据记忆来解释,但它很接近……

<form action="secretpage.html" id="authentication"          
      onsubmit="return document.forms.authentication.password.value == 's3cr3t'">
    Enter password: <input type="password" name="password"><br>
    <input type="submit" name="Login" >
</form>

我认识的一个家伙用这个来保护他网站的“私人区域”。起初,他不愿意相信我,甚至他的浏览器都有这个不可靠的“查看源代码”功能。

这不是安全漏洞,而是那些把自己的产品标榜为高安全性的公司的安全耻辱(这是他们的主要特征之一)

这是关于“安全登录”的页面为合作伙伴。是这样的:

第一次你通过电子邮件获得明文密码,一旦你登录,你当然不会在第一屏幕上阅读废话,你只是跑去找你要找的东西(文档或软件),然后注销。

但这里有个技巧,下次你尝试登录时,你的密码不再有效,因为你应该有新密码,他们每次都会在你的个人资料下发布在网站上。所以在交换了几封电子邮件后,他们给我发了大约30个列举的一次密码列表,我每次只能使用一次。(我花了一周时间和几封邮件重新协商这个列表)

所以我打印了这个密码列表,贴在我桌子前的墙上,每次登录时我都用钢笔涂掉一个密码。我可不想有人从我桌前走过看到这份名单。

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

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

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

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

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