• Pikachu-CSRF(跨站请求伪造)


    CSRF漏洞概述:

      在CSRF的攻击场景中攻击者会伪造一个请求(这个请求一般是一个链接),然后欺骗目标用户进行点击,用户一旦点击了这个请求,整个攻击也就完成了,所以CSRF攻击也被称为"one click"攻击。

      我们判断一个网站是否存在CSRF漏洞,其实就是判断其对关键信息(比如密码等敏感信息)的操作(增删改)是否容易被伪造。

      CSRF和XSS的区别:CSRF是借用户的权限完成攻击,攻击者并没有拿到用户的权限,而XSS是直接盗取到了用户的权限,然后实施破坏。

    如何确认一个web系统存在CSRF漏洞:

    1. 对目标网站增删改的地方进行标记,并观察其逻辑,判断请求是否可以被伪造;

       --比如修改管理员账号,并不需要验证旧密码,导致请求容易被伪造

       --比如对于敏感信息的修改并没有使用安全的token验证,导致请求容易被伪造

       2.确认凭证的有效期(这个问题会提高CSRF被利用的概率)

         --虽然推出或者关闭了浏览器,但是cookie仍然有效,或者session并没有及时过期,导致CSRF攻击变得简单

    CSRF(get)实验:

      1.根据提示,我们随机选择账号进行登录。在这里,以lucy账号为例,进行登录。登录之后,可以看到lucy的个人信息

      2.更改lucy的住址为shijiazhuang,并在这个过程中进行抓包

      3.所以只需要拿到get请求的这个链接,如果想更改lucy的地址为邢台,只需将get请求中的地址更改为xingtai。然后将这个更改后的get请求以任何方式发送给lucy。

    攻击者伪造的链接:127.0.0.1://GET /pikachu-master/vul/csrf/csrfget/csrf_get_edit.php?sex=girl&phonenum=12345678922&add=shijiazhuang&email=lucy%40pikachu.com&submit=submit发送给lucy,lucy收到后在处于登陆状态时,访问该链接。住址发生了变化

    CSRF(post)实验:

      1.登录lucy账号,并改写地址为北京并进行抓包。可以看到请求是通过post方式进行提交的,所以没有办法通过URL来伪造请求

      2.我们要做一个站点,然后在站点上做一个 表单,让被攻击目标去点击我们站点中的恶意表单的URL。通过这个恶意表单向存在CSRF漏洞的页面提交post请求(和post类型的xss方法相同)

    CSRF Token:

      Token是如何防止CSRF的:

        CSRF的主要问题是敏感操作的链接容易被伪造。

      解决容易被伪造的方法:

        --每次请求,都增加一个随机码(需要够随机,不容易伪造),后台每次对这个随机码进行验证

      1.在pikachu的CSRF Token页面以lucy的账号进行登录,然后修改地址信息,并进行抓包

      2.每次刷新页面,token值都会发生变化。这样就防止了CSRF

    CSRF防范措施:

      

  • 相关阅读:
    pku 1330 LCA
    最近公共祖先(LCA)的Tarjan算法
    字典数模板
    字典树
    RMQ问题ST算法与模板
    RMQ(Range Minimum/Maximum Query)问题:
    罗穗骞的dc3和倍增法
    多重背包问题
    tarjan LCA 算法
    终极工程师的造诣 – 不迷信高科技的乔布斯给我们的启示
  • 原文地址:https://www.cnblogs.com/mxm0117/p/12616415.html
Copyright © 2020-2023  润新知