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

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


当前回答

我想这是我亲眼见过的最糟糕的一次。在很久以前(20世纪80年代末),我用COBOL编程了一台IBM 370,后来换成了4341。在一个缓慢的日子里,我在查看文档时发现了一个命令,可以让你搜索磁盘上的所有内容。

所以我搜索我的密码。然后找到了。发现附近所有人的密码。

如果我没记错的话,密码限制在6个字符以内,而且不区分大小写。我不记得当时自己的密码了,但我永远不会忘记系统管理员的密码;这完全符合他的性格。休息日。

其他回答

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

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

我以前的学校有学生的密码和他们的用户名一样,加上很容易得到他们的用户名(一个数字,例如123233),然后你可以点击添加列,找到学生的名字和姓氏,以及他们的用户名。因此,很容易在他们的账户中随机放入垃圾,让他们认为“机器里有鬼”。

我被告知,我们总机部门的哔哔系统有一个可以用来发送消息的web前端,尽管它很丑,而且不太友好,所以我想看看我们是否可以在我们的内部网主站上使用一个表单,并通过我们的服务器将值提交给他们。

使用User和Admin角色访问系统有一个简单的用户名/密码表单,因此我查看了一下如何实现处理安全性。我发现存储了以下两个cookie:

Username: [username I had used]
Admin: False

为了确保它像我想象的那样糟糕,我打开Firefox,给它url,创建2个cookie,我的用户名和管理员:真,瞧,我有管理员权限。为了验证它,我创建了一个新用户,没有任何问题。更糟糕的是,在本地使用用户名意味着日志将显示我的操作来自任何我想要给它的人。

通过不公开来实现安全是行不通的,但当你把人们需要的一切都放在银盘上时,它就不那么管用了。

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

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

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

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

在登录时,有一个隐藏的字段,让“网站管理员”选择成功和失败时要包含的文件。

是的,/etc/password工作了。

或者在“log”目录中,有order-xxx。order-xxx.txt包含卡号,包括检查号和验证日期。