zoukankan      html  css  js  c++  java
  • pikachu---CSRF

    1.CSRF(get)
    我们先修改个人信息然后抓包看看

    我们可以发现参数是以get型提交的,没有做任何的安全验证。

    这时我们只需要将127.0.0.1:88/pikachu/vul/csrf/csrfget/csrf_get_edit.php?sex=girl&phonenum=66666&add=77777&email=888888&submit=submit HTTP/1.1修改成我们自己想要的资料,然后在用户打开该网页的时,点击这个网址,这样就可以吧资料修改成我们自己想要的资料。

    这样我们可以悄然无声的修改别人的信息。
    2.CSRF(post)
    这个第一步我们做的就是修改个人信息然后抓包看看

    我们不难看出这个不是get型
    如果这样我们怎么攻击呢,这个不难,在前面我们学习过xss(post),这个原理也是一样,
    我们需要搭建一个站点发送给目标用户,如果用户正在访问当前页面,就会自动的向后台发送请求修改个人信息。
    我们编写一个post.html文件

    将它放在pikachu文件下。
    我们只需要将/http://127.0.0.1:88/pikachu/vul/csrf/csrfpost/csrf_post.php发送给用户,就可以成功修改用户的资料。

    3.CSRF(token)防范措施
    CSRF的主要问题是敏感操作容易被伪造,我们可以加入Token让请求不容易被伪造
    ---------每次请求,都增加一个随机码(需要够随机,不容易被伪造),后台每次对这个随机码进行验证
    我们进入Pikachu平台的CSRF(token)页面并登录,我们可以看一下这个GET请求

    与前面相比多了一个token(随机的),这样让我们没办法制造URL
    看看token如何生成。

    这样大大的提高了安全性。
    防护措施总结:
    增加Token验证(常用做法)
    ---对关键操作增加Token参数,token必须随机,每次都不一样
    ---关于安全的会话管理(避免会话被利用)
    ---不要在客户端保存敏感信息(比如身份验证信息)
    ---退出、关闭浏览器时的会话过期机制
    ---设置会话过机制,比如15分钟无操作,则自动登录超时
    访问控制安全管理
    ---敏感信息的修改时需要身份进行二次认证,比如修改账号密码,需要判断旧密码
    ---敏感信息的修改使用POST,而不是GET
    ---通过HTTP头部中的REFERER来限制原页面
    增加验证码
    ----一般在登录(防暴力破解),也可以用在其他重要信息操作的表单中(需要考虑可用性)

  • 相关阅读:
    《你不知道的JavaScript》中卷 KYLE SIMPSON 著 单业 姜南 译
    输入框禁止输入emoji标签
    《你不知道的javascript上卷》读书笔记(kyle simpson 著,赵望野、梁译)
    Redis的介绍及使用实例.
    [Linux]Linux下redis的安装及配置.
    [Linux]Linux下安装和配置solr/tomcat/IK分词器 详细实例二.
    [Linux]Linux下安装和配置solr/tomcat/IK分词器 详细实例一.
    [Linux] linux下安装配置 zookeeper/redis/solr/tomcat/IK分词器 详细实例.
    ActiveMQ的介绍及使用实例.
    集群下session共享问题的解决方案.
  • 原文地址:https://www.cnblogs.com/renletao/p/13199215.html
Copyright © 2011-2022 走看看