当前位置: 代码迷 >> Web前端 >> 《Web运用安全威胁与防治》 试读 与 试读章节笔记
  详细解决方案

《Web运用安全威胁与防治》 试读 与 试读章节笔记

热度:129   发布时间:2013-02-06 14:02:20.0
《Web应用安全威胁与防治》 试读 与 试读章节笔记

? 《Web应用安全威胁与防治》 这本书讲的是什么 , 书的名字已经阐述的很清楚, 我就不再赘述了
?
? 看了下ITeye提供的试读章节 , 的确有些干货 , 感觉囤一本还是有些必要的 , 也在此向ITeye的朋友们推荐下

? 试读章节包括了第六章 第十章和第十二章 其中第六章介绍了一些web安全方面的扫描工具 第十章介绍了身份认证和会话管理方面的安全问题 第十二章介绍了CSRF(跨站请求伪造)的相关知识

?下面是我阅读第十章和第十二章后的读书笔记:

??? 会话劫持:
??????? 截获sessionId 从而劫持该sessionId对应的会话
? ?
??? 会话固定:
??????? 1 得到A网站的一个sessionID
??????? 2 诱导用户B发送含该sessionID的请求 , 用户B通过输入信息的方式登录了A网站
??????? 3 通过该sessionID , 可以得到B的权限
?? ??? ??? ?*url中写入sessionID 可能导致会话固定
? ?
??? 非直接会话攻击 :
?? ??? ?原因:
?? ??? ??? ?服务器端在用户还没有成功登录/注册/密码重置前 , 就将user信息存入session , 相应操作失败后 虽然提供了302重定向到失败页面 但客户端可以通过一些工具强制不执行302跳转 , 而此时server端session已经存在user信息 , 这样攻击者即使登录验证失败 , 却还能取得user的权限
?? ??? ?解决办法 :
?? ??? ??? ?不要在 登录/注册/密码重置 前 就在session 中置入user信息 ;
????? ?
? ?
??? 防治会话固定的方法:
??????? 一旦用户登录成功,马上invalidate用户的会话
????? ?
??? 保护sessionID (会话令牌) 的方法 :
??????? 会话过期(软会话过期(xx时间没有操作) (硬会话过期(通过web filter 实现)))
??????? 保护cookie (设置 secure , HttpOnly) 防止中间人攻击 (Man in the Middle) *servlet 3.0 可以在web.xml 中设置 这两个属性
??????? 提供完整的 logout 功能
? ?
????? ?
?? ?跨站请求伪造 CSRF? ( Corss-site Request Forgery )
?? ??? ?其特征为:
?? ??? ??? ?用户B登录A网站没有退出 打开的任何页面都可以向A网站发送B可以执行的请求 (如将可执行url 放入 img标签中 , 内嵌可提交表单的不可见iframe等)
?? ??? ?主要的预防方法:
?? ??? ??? ?在重要操作前(转账/改密) 添加二次验证
?? ??? ??? ?添加token , 方法是:
?? ??? ??? ??? ?1 在用户刚登录时 产生一个不可预知的Token ,
?? ??? ??? ??? ?2 在任何需要保护的表单/URL 中 添加这个Token作为参数
?? ??? ??? ??? ?3 提交相应请求时检查这个token
?? ??? ??? ??? ?4 退出/session过期时 移除该token并销毁session
?? ??? ??? ??? ?注意 , 添加Token并不能确保不会受到CSRF攻击 , 特别是在可能同时存在XSS漏洞的情况下
?? ??? ??? ?? ?
?? ??? ??? ?一个方便添加token的类库 : CSRF Guard

?

?

注:本文参加了ITeye1月技术图书有奖试读活动


????? ?

  相关解决方案