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

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


当前回答

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

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

其他回答

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

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

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

令人惊讶的是没有人提到社会工程,但我从这篇文章中得到了乐趣。

总结:恶意用户可以买几十个u盘,在里面装上自动运行的病毒或木马,然后在深夜把这些u盘撒在公司的停车场里。第二天,每个人都来上班,被闪闪发光的、糖果形状的、不可抗拒的硬件绊倒,并对自己说:“哦,哇,免费的闪存盘,我想知道里面有什么!”——20分钟后,整个公司的网络都被冲洗掉了。

在一些Unix机器(当然是所有的SunOS)上,您可以将setuid shell脚本链接到一个名为“-i”的文件。 shell脚本将文件名解释为它的第一个参数,并运行"sh -i" =一个交互式shell,并获得setuid文件所有者的许可。

因为大多数setuid shell脚本都是以根用户身份运行的,以便允许您执行一些需要根用户权限的操作,比如弹出CD或加载磁带。这意味着在20世纪90年代,在大多数大学的Unix机器上获得管理是很简单的。

在一个论坛中,我已经获得了对隐藏线程和管理界面的只读访问权限,只需将cookie中的用户名替换为管理员的用户名,而不更改密码。

有一次我有……创造性的差异……在我帮助建立的一个社区网站上,另一个编码器添加了一个新的PHP文件,该文件列出了审批队列中的文件,该文件还具有删除每个文件的链接。

不幸的是,这个脚本使用了整个通过模糊实现安全的概念。

不知何故,一个网络爬虫发现了这个页面,并跟踪了所有的删除链接。

不用说,修改元数据或删除文件的脚本现在需要登录。

附注:我与此无关,甚至不知道这个脚本的存在,直到当时的一位工作人员告诉我发生了什么。实际上,我现在又在为这个网站工作了,部分原因是为了确保这样的事情不会再发生。