6.2 验证机制设计缺陷

与Web应用程序常用的任何其他安全机制相比,验证功能中存在着更多设计方面的薄弱环节。即使在基于用户名和密码验证用户这种非常简单的标准化模型中,其中包含的设计缺陷也容易导致应用程序被非法访问。

6.2.1 密码保密性不强

许多Web应用程序没有或很少对用户密码的强度进行控制。应用程序常常使用下列形式的密码:

img002 非常短或空白的密码;

img002 以常用的字典词汇或名称为密码;

img002 密码和用户名完全相同;

img002 仍然使用默认密码。

图6-1是一个实施脆弱密码强度规则的实例。通常,终端用户很少具有安全意识。因此,没有实施严格密码标准的应用程序很可能包含大量使用脆弱密码的用户账户。攻击者很容易就可猜测出这些密码,从而对应用程序进行未授权访问。

img140

图6-1 -个实施脆弱密码强度规则的应用程序