你见过的最糟糕的安全漏洞是什么?为了保护罪犯,限制细节可能是个好主意。
不管怎样,这里有一个关于如果你发现了安全漏洞该怎么办的问题,还有一个关于如果公司(似乎)没有回应该怎么办的问题。
你见过的最糟糕的安全漏洞是什么?为了保护罪犯,限制细节可能是个好主意。
不管怎样,这里有一个关于如果你发现了安全漏洞该怎么办的问题,还有一个关于如果公司(似乎)没有回应该怎么办的问题。
当前回答
我在The Daily WTF上看到过这个。
<script language="javascript">
<!--//
/*This Script allows people to enter by using a form that asks for a
UserID and Password*/
function pasuser(form) {
if (form.id.value=="buyers") {
if (form.pass.value=="gov1996") {
location="http://officers.federalsuppliers.com/agents.html"
} else {
alert("Invalid Password")
}
} else {
alert("Invalid UserID")
}
}
//-->
</script>
恕我直言,没有什么比这更好的了。
其他回答
有一家银行通过其网站提供一些服务。开发人员考虑了任何作为整个系统的有效用户登录的人,他们使用URL来识别账号,因此只需更改URL上的ID,就可以查看其他账户的余额。
对于认为身份验证和授权是一回事的web开发人员来说,这是非常糟糕的。
此外,银行不通过其网站转账也很好,否则有些人会很富有;-)
我们工作时的手机。
你必须用你的4位ID登录,然后按#,然后输入你的4位密码和#。但如果你不输入任何密码并按#,它就会让你登录。
Failphone失败。
我记得申请大学的通用应用程序网站有这个“安全”功能,它宣布将在一定时间后注销你。但是,他们使用了一个警告框,如果你没有真正回应,就会暂停倒计时,使你的会话无限期。
不是最坏的,但也足以造成一些真正的损害。你会惊讶于这一点被忽视的频率有多高。特别是当人们使用这些流行的框架时,
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...
}
整个经典ASP购物车“Comersus”。整个事情是意大利面条代码的混乱,所有的SQL语句都是成熟的SQL注入,因为没有做任何过滤。可悲的是,我不幸地处理了近两年的“申请”,这绝对是一场噩梦!