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

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


当前回答

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

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

其他回答

高中时,实验室正在运行windows的早期版本。政府在一项安全计划上花费了大量资金。

负责实验室的先生来找我,让我绕过系统看看它是否安全。“没关系,你不会有麻烦的。”

我重新启动,按f8,当它问我是否要加载安全程序时,按N,然后Y到其他所有东西上。

有许多网站使用代理文件来传送图像或其他文件。没有检查路径的有效性。

So.

getfile.php ?文件 =../../../../ 等/ passwd

or

Getfile.php ?file=../index.php(包含所有密码的纯文本)

令人惊讶的是,还有很多网站仍然存在这个缺陷。getfile.php只需要谷歌,你就可以轻松地打开盒子了。

我所见过的最严重的安全漏洞是在MS SQL Server的早期版本中,7.0或2000版本,记不清了。

当安装此版本的SQL Server时,安装程序默认会给“sa”帐户一个空密码!!(sa帐户是SQL管理员帐户,它可以在服务器上做任何事情)

这基本上让任何人都可以访问没有防火墙保护的SQL服务器。

但还有更糟的。

当时,安装了许多SQL服务器以在“本地系统”身份验证下运行服务,这使SQL server进程对系统有无限的控制。

既然你可以在SQL server中创建COM对象,你就可以完全访问运行SQL server的计算机了。

很多网站都是这样被黑客攻击的。

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

不是技术上的安全漏洞,但仍然是一个安全漏洞:

我的银行卡最近被自动取款机吃了,我花了几个星期才把它拿回来。当它最终到达银行时,银行的一位女士打电话给我,问我是想自己取卡还是让他们邮寄给我。她还告诉我,如果他们要寄给我,他们会关闭它,直到我打电话给他们确认它安全抵达我家。

我收到了这张卡,并附上了一封简短的信,上面有确切的联系方式,其中包括一张便条,说我需要打电话重新启用这张卡。我只是打电话给他们,给了他们我的名字和账号,这两个都印在卡上,他们重新启用了卡。

基本上,如果有人抢了那封信,他们就会有信用卡和银行号码,以及所有需要的信息,让银行相信实际上是我打来的。所以那里的安全系统不太好。