• 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来限制原页面
    增加验证码
    ----一般在登录(防暴力破解),也可以用在其他重要信息操作的表单中(需要考虑可用性)

  • 相关阅读:
    在eclipse中安装 Activiti Designer插件
    Maven settings.xml配置(指定本地仓库、阿里云镜像设置)
    unity调用MMBilling_2.4.2 Android SDK.
    unity与Android相互调用
    Unity3D研究院之与Android相互传递消息
    Unity3D研究院之打开Activity与调用JAVA代码传递参数
    Objec c 字符串比较
    判断不同IOS设备
    Unity3D研究院之IOS本地消息通知LocalNotification的使用
    【Unity3D】iOS 推送实现
  • 原文地址:https://www.cnblogs.com/renletao/p/13199215.html
Copyright © 2020-2023  润新知