(1)确定应用程序中的所有密码修改功能。即使公布的内容(published content)中没有明确的密码修改功能链接,应用程序仍然可能实施这种功能。我们已在第4章中说明了发现应用程序中隐藏内容的各种技巧。
(2)使用无效的用户名、无效的现有密码及不匹配的“新密码”和“确认新密码”值向密码修改功能提交各种请求。
(3)设法确定任何可用于用户名枚举或蛮力攻击的行为(如6.2.2节和6.2.3节所述)。
提示
如果密码修改表单只可由验证用户访问,且其中并无用户名字段,表单中仍有可能包含一个任意用户名。表单可能将用户名保存在一个可被轻易修改的隐藏字段中。如果在字段中没有发现用户名,设法使用和主登录表单中相同的参数提交另一个包含用户名的参数。这种技巧有时可成功覆盖当前用户的用户名,使攻击者能够向其他用户的证书发动蛮力攻击,即使在主登录页面不可能实施这种攻击。