Web应用程序的威胁与对策(15)
时间:2025-07-09
时间:2025-07-09
如果必须将文件名接受为输入,应确保文件名形式正确,并在应用程序的上下文中对其进行验证。例如,检查它们是否
在您的应用程序的目录层次结构中。
确保字符编码设置正确,以限制表示输入的方法。检查您的应用程序的 Web.config 已在<全局化 >元素上设置了
requestEncoding 和 responseEncoding 属性。
返回页首
身份验证
根据您的要求,有几种可用的身份验证机制可选。如果未能正确选择和实现身份验证机制,则攻击者会利用该机制暴露的漏洞来获取您的系统的访问权。利用身份验证机制的漏洞所构成的最大的威胁包括:
网络偷听 网络偷听 强力攻击 字典攻击 Cookie 重播攻击 凭证偷窃
如果从客户端向服务器以纯文本形式传递身份验证凭证,在同一网络的主机上具有初级的网络监测软件的攻击者就可以捕捉通信并获得用户名和密码。
防止网络偷听的对策包括:
强力攻击 使用不通过网络传输密码的身份验证机制,如 Kerberos 协议或 Windows 身份验证。 如果必须通过网络传输密码,则需确保密码已加密,或使用已加密的通讯通道,如 SSL。
强力攻击依赖计算能力来解开哈希密码或其他使用了哈希和加密的机密。为减少这种危险,请使用强密码。
字典攻击
此攻击用于获取密码。多数密码系统不存储纯文本密码或加密的密码。它们避免使用加密的密码,因为泄漏的密钥会危及数据存储区中所有密码的安全。丢失密钥则意味着所有的密码都未通过验证。
多数用户存储实现具有密码哈希(或摘要)。根据用户提供的密码值重新计算哈希并将其与数据库中存储的哈希值进行比较,来对用户进行身份验证。如果攻击者设法获得哈希密码列表,则会使用强力攻击来破解密码哈希。