Web应用安全:会话管理与输入验证攻击解析
1. 会话管理时间窗口与风险
在确定状态信息(如会话ID)的内容后,还需明确其有效时间范围。通常的测试方法是获取会话ID(如通过登录应用程序),等待一段时间后,尝试继续使用该应用程序。若会话ID失效,应用程序应提示重新认证;若6小时后会话ID仍有效,那么该应用程序可能极易遭受令牌重放攻击。
2. 会话管理的应对策略
2.1 限制敏感数据传递
最佳对策是限制状态信息中传递的敏感数据量。以下是强大会话管理的指南:
| 方法 | 保护类型 |
| — | — |
| 强会话ID | 从大的随机池中生成会话ID,利用32位或更多位的值,并测试会话ID生成器以确保其不可预测。 |
| 强哈希或加密内容 | 在字符串开头放置动态数据(如时间戳或伪随机数),使暴力攻击更困难。 |
| 强制会话时间限制 | 在一定的非活动时间(如10分钟)或设定时间(如30分钟)后使状态信息和会话ID无效,由服务器负责处理。 |
| 强制并发登录限制 | 禁止用户同时拥有多个经过身份验证的会话,防止恶意用户劫持或猜测有效会话ID。 |
| 验证状态信息内容 | 始终检查传入的数据,防止状态信息被操纵用于输入验证或SQL注入攻击。 |
| 使用校验和或消息认证技术 | 使用校验和验证状态信息未被修改,校验和不应可由用户重现。 |
| 使用SSL | 对包含敏感信息的流量进行加密,防止嗅探攻击。 |
2.2 应用程序日志记录
常被忽视的安全措施是应用程序日志记录。虽然Web应用程序平台会为操作系统和Web服务器生
超级会员免费看
订阅专栏 解锁全文
1250

被折叠的 条评论
为什么被折叠?



