• 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

      

  • 相关阅读:
    78. Subsets
    93. Restore IP Addresses
    71. Simplify Path
    82. Remove Duplicates from Sorted List II
    95. Unique Binary Search Trees II
    96. Unique Binary Search Trees
    312. Burst Balloons
    程序员社交平台
    APP Store开发指南
    iOS框架搭建(MVC,自定义TabBar)--微博搭建为例
  • 原文地址:https://www.cnblogs.com/Excellent-person/p/12301279.html
Copyright © 2020-2023  润新知