(1)分析应用程序中所有与验证有关的功能以及任何与用户维护有关的功能。如果发现任何向客户端返回用户密码的情况,即表明应用程序并未以安全的方式保存密码,或者密码以明文方式呈现,或应用程序使用了可还原加密形式保存密码。
(2)如果发现应用程序中存在任何一种任意命令或查询执行漏洞,设法确定应用程序将用户证书保存在数据库或文件系统的什么位置。
(a)找到这些位置,弄清应用程序是否以非加密形式保存密码。
(b)如果以散列形式存储密码,则应检查表明账户分配有常用或默认密码,以及散列并未经过“加salt”处理的非唯一值。
(c)如果使用标准算法以“不加salt的散列”形式存储密码,则应查询在线散列数据库,以确定对应的明文密码值。