白帽子讲Web安全 第四章 跨站点请求伪造(CSRF)

Posted 在窗边的豆豆助

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了白帽子讲Web安全 第四章 跨站点请求伪造(CSRF)相关的知识,希望对你有一定的参考价值。

1、CSRF : Cross Site Request Forgery.
            该攻击通过在授权用户访问的页面中包含链接或脚本的方式工作。是一种依赖Web浏览器的、被混淆过的代理人攻击。
2、常见特性:
               依靠用户标识危害网站
               利用网站对用户标识的信任
               欺骗用户的浏览器发送HTTP请求给目标站点
               另外可以通过含有src性质的标签(eg: iframe\\image\\script\\style)会触发一个GET请求,可以利用这个发起CSRF攻击.

 

 
3、CSRF防御
1)验证码
     --强制用户与应用交互。最简洁有效的防御方法。
2)Referer Check
     -- HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器我是从哪个页面链    接过来的,服务器藉此可以获得一些信息用于处理。
          Referer缺陷在于,服务器并非什么时候都能获取到Referer。
3)  One-Time Tokens(不同的表单包含一个不同的伪随机值)
          随机的Token需要同时放在表单和Session中。在提交请求时,服务器只需验证表单中的Token与用户Session(或cookie)中的Token是否一致,一致合法,不一致不合法。
          Token的使用原则:
          足够随机---需要使用安全的随机数生成器来生成Token。
          需要有有效的生命时间----eg:若表单提交了已经消耗类Token,则需再生成一个新的Token。
          若Token不放在Session中,放在cookie中。如果只有一个Token 则考虑 可能有多页面共用的情况,所以应该考虑生成多个有效的Token,以解决多页面的问题。
        注意Token的保密性----尽量把Token放在表单里,把敏感操作由GET改为POST,以form表单(或AJAX)形式提交。
 

以上是关于白帽子讲Web安全 第四章 跨站点请求伪造(CSRF)的主要内容,如果未能解决你的问题,请参考以下文章

[笔记]《白帽子讲Web安全》- Web框架安全

白帽子挖洞—跨站请求伪造(CSRF)篇

《白帽子讲WEB安全》学习笔记之第10章 访问控制

想成为白帽子需要学些啥?最近在看《白帽子讲web安全》,可是发现自己看不懂,学校有在学web编程

《白帽子讲WEB安全》学习笔记之第13章 应用层拒绝服务攻击

《白帽子讲WEB安全》学习笔记之第7章 注入攻击