Fail Open Authentication Scheme
实验过程
这节讲不当的错误处理。打开认证失败。Java代码中异常处理部分为成功认证行为进行异常捕获。该异常产生是因为密码字段使用了空指针。
它要求我们输入用户名密码登陆,其中用户名是“webgoat”,他已经给我们了,重要的是猜对他的密码。
我们可以浏览器打开代理之后,用burpsuit抓到请求之后,直接删除password字段,提交给服务器,这时服务器会报错,因为password是空指针,进入错误处理流程,由于它处理不当,我们就可以登录了。
总结
这种漏洞在较早的系统中并不少见,实际上在以前学校的圈钱机也存在类似的错误处理不当的问题,如果输入密码位数小于特定值时会引起崩溃。