1.1 Password Strength(密码强度)
密码是账户安全的保障,是我们进行身份认证的凭证, 一旦密码泄露,这就意味着可能会给我们带来很大损失(黑客可以通过我们的账号发布一些虚假信息进而欺骗他人,甚至可以获取我们银行卡密码,进而危及我们的财产安全,还涉及了我们的隐私问题), 然而由于我们的习惯问题,我们常常在不同的站点使用相同的密码,甚至我们喜欢使用一些简单的密码,例如123456,8888888等等,另外我们还经常使用姓名和生日等组合而成的有规律性的密码,这就为黑客破解我们的密码提供了方便。因此我们应该遵循密码的基本规则(最小长度,大小写字母、数字、特殊字符的组合使用、避免使用与姓名和生日相关的信息、在不同的站点使用不同的密码等),构建强壮的密码。
在这个实验中我们需要在http://www.cnlab.cn/codecheck网站测试几组密码(下面提供的密码),然后将每一个密码所对应的试探的时间写出来提交即可完成实验。从图 1 中五组数据我们可以看到所提供的密码长度均为 6 但是字母的组合却越来越复杂,这么一个递进关系,让我们切身的感受弱密码和强密码的不同。
图 1
1.2 Forgot Password(忘记密码)
随着互联网时代的到来,web 已经成为一个热点话题,为了账号的安全我们经常选择不对站点进行密码记住,忙碌之余我们难免会忘记某些账号的口令,当然站点的设计者在最初设计站点的时候就考虑到了这个问题,这就为用户的使用提供了很大的方便。但是许多 Web 应用程序的实施机制却并不安全,往往对于验证的信息要求过于简单。
这个练习中,我们的身份是:webgoat,我们密保问题的答案是:red;当我们提交身份认证和正确回答我们的密保问题的时候,web应用就会返回我们忘记的密码。然而我们希望查看账户:admin的密码,但是我们没有他的密保问题的答案,这就需要我们用猜测来完成这个实验。
首先,让我们输入admin点击提交,如图 2 所示,我们会看到如图 3 所示的页面。这时我们随意输入常用的颜色名称,如果错误会出现如图 4 所示的页面,这时我们只需要再次尝试就可以了(最后尝试的结果是 green ),直到出现如图 5 所示的页面,我们可以看到我们成功的获取了账户 admin 的口令。