你见过的最糟糕的安全漏洞是什么?为了保护罪犯,限制细节可能是个好主意。
不管怎样,这里有一个关于如果你发现了安全漏洞该怎么办的问题,还有一个关于如果公司(似乎)没有回应该怎么办的问题。
你见过的最糟糕的安全漏洞是什么?为了保护罪犯,限制细节可能是个好主意。
不管怎样,这里有一个关于如果你发现了安全漏洞该怎么办的问题,还有一个关于如果公司(似乎)没有回应该怎么办的问题。
当前回答
不是最坏的,但也足以造成一些真正的损害。你会惊讶于这一点被忽视的频率有多高。特别是当人们使用这些流行的框架时,
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...
}
其他回答
从早期的在线商店来看:
在购物车的数量栏输入.1即可获得9折优惠。软件正确地将总成本计算为.1 * cost,人工包装订单只是忽略了包装数量前面的奇数“.”:)
有许多网站使用代理文件来传送图像或其他文件。没有检查路径的有效性。
So.
getfile.php ?文件 =../../../../ 等/ passwd
or
Getfile.php ?file=../index.php(包含所有密码的纯文本)
令人惊讶的是,还有很多网站仍然存在这个缺陷。getfile.php只需要谷歌,你就可以轻松地打开盒子了。
Windows 95和98有史上最严重的漏洞。如果你只是按下取消,你将以管理员权限登录:)在我爸爸的工作中度过了美好的时光:D
我曾经接手了一个系统的开发,这个系统在全国有200个客户在使用,它有硬编码的密码。是的,代码实际上写着:
if password = "a"
去年,我离开了一家汽车ERP公司,该公司数百个客户的服务器上都有相同的管理密码。我猜我走后他们没有全部换掉。
一些验证码是这样的:
public bool charsEquals(char[] input, char[] txt)
{
for (int i = 0; i < Math.min(input.length; txt.length); ++i)
{
if (input[i] != txt[i]) return false;
}
return true;
}
像这样使用它:
if (charsEquals(inputPassword, requestedPassword))
看了YouTube上关于Tux和比尔·盖茨之战的搞笑视频后,我开始思考这个问题。当Tux没有密码进入微软大楼时。