zoukankan      html  css  js  c++  java
  • CSRF(跨站请求伪造)

    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

      

  • 相关阅读:
    Android 中设置全屏和无标题模式
    轻松管理安卓应用中的log打印信息
    使用Cocos2d游戏引擎开发火热的植物大战僵尸游戏
    Android中获取系统通讯录联系人并显示在EditText
    使用json解析国家气象局(天气预报)接口数据
    Android中简单的日期格式化
    Android的消息推送技术Androidpn
    格式化日期和时间详细介绍
    智能短信管家 V1.0版本正式上线啦!
    学用MVC4做网站一:用户登陆1.2
  • 原文地址:https://www.cnblogs.com/Excellent-person/p/12301279.html
Copyright © 2011-2022 走看看