码迷,mamicode.com
首页 > 其他好文 > 详细

CSRF(跨站请求伪造)

时间:2020-02-13 00:17:50      阅读:63      评论:0      收藏:0      [点我收藏+]

标签:格式   服务   图片   严格   code   点击   发布   删除   generate   

1.CSRF简介

  CSRF的全名是Cross Site Request Forgery(跨站请求伪造),是一种诱使用户访问一个页面,然后盗用该用户身份在第三方站点里执行一次操作的攻击手段,其本质原因在于重要操作的所有参数都是可以被攻击者猜测到的。

2.CSRF检测

  2.1 收集CSRF有利用价值的点(需要权限的)

    csrf由于其利用的特殊性,并不需要将整个站点的所有数据包均测试一遍,只需测试有csrf价值的点(需要权限的即时性的操作)即可

    如:转账、购物、修改密码、删除、发布内容...

  2.2 GET类型的CSRF检测

         如果有token等验证参数,先去掉参数尝试能否正常请求。如果可以,即存在CSRF漏洞。

  2.3 POST类型的CSRF检测

        如果有token等验证参数,先去掉参数尝试能否正常请求。如果可以,再去掉referer参数的内容,如果仍然可以,说明存在CSRF漏洞,可以利用构造外部form表单的形式,实现攻击。如果直接去掉referer参数请求失败,这种还可以继续验证对referer的判断是否严格,是否可以绕过。

3.CSRF实例

  工具:burpsuite中Engagement tools的Generate CSRF PoC模块

  3.1 抓取修改密码的数据包,发送到Repeater模块

技术图片

  3.2 右击选中Engagement tools,CSRF POC

技术图片

  3.3 把构造好的html代码复制出来,保存为html格式

技术图片

  3.4  用浏览器打开保存的html文件,点击Submit request按钮

技术图片

  3.5 修改成功

技术图片

4.CSRF防御

  4.1 验证码:验证码是对抗CSRF最简介有效的防御手段,但处于用户体验考虑,网站不能给所有的操作都加上验证码。

  4.2 referer:用于检查请求是否来自合法的源,referer的缺陷在于,服务器并非什么时候都可以取到referer,很多用户处于隐私保护的考虑,限制了referer的发送

  4.3 token:产生一个随机数,使攻击者无法构造一个完整的URL。

5.学习链接

先知论坛:https://xz.aliyun.com/t/6128

 红日安全:https://github.com/hongriSec

 

  

 

CSRF(跨站请求伪造)

标签:格式   服务   图片   严格   code   点击   发布   删除   generate   

原文地址:https://www.cnblogs.com/Excellent-person/p/12301279.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!