`
thanq
  • 浏览: 13041 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

《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月技术图书有奖试读活动


       

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics