码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Pikachu靶场练习——CSRF


    Pikachu靶场练习——CSRF


    文章目录

    • Pikachu靶场练习——CSRF
    • 前言
    • CSRF(get)
      • 模拟用户登录
      • 获取修改提交的URL
      • 构造恶意执行语句
      • 将构造的URL诱骗用户点击
      • 其他伪装方法
    • CSRF(post)
      • 获取用户修改提交的URL
      • 构造恶意执行语句
    • CSRF Token
      • Token的特点
    • 防护策略总结
    • 传送门(参考链接)


    前言

    打开pikachu靶场的CSRF我们可以看到CSRF的练习共有三项,分别为get、post、CSRF Token,在概述的地方有对CSRF的简单描述和一个小场景,对CSRF不熟悉的话建议先看看,看完之后那就开始趴。
    在这里插入图片描述


    CSRF(get)

    模拟用户登录

    点击CSRF(get)我们可以看到一个登录页面,点一下提示我们能够得到用户的登陆密码(后面两个的第一部也是一样的操作哦~要先登进去再进行后面的操作)
    在这里插入图片描述
    登陆进去我们能够看到一些基本的信息
    在这里插入图片描述
    尝试修改一下(点击submit之前记得打开bp抓一下包)
    在这里插入图片描述
    修改成功!
    在这里插入图片描述

    获取修改提交的URL

    去bp里面瞅一眼看看抓到了什么
    在这里插入图片描述

    构造恶意执行语句

    在这里插入图片描述

    将构造的URL诱骗用户点击

    在同一浏览器中(敲黑板!!!)打开这个URL将执行修改操作
    在这里插入图片描述
    在这里插入图片描述

    其他伪装方法

    写入html文件中,诱骗用户点击,并使用各种提示打消用户的疑虑。在这里我浅试一下,还有一些其他的方法可以从文章最后的传送门走

    伪装成错误页面(即404页面)

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>页面找不到</title>
    </head>
    <body>
        <img src="http://localhost/pikachu-master/vul/csrf/csrfget/csrf_get_edit.php?sex=boy&phonenum=18888883333&add=地球村55号&email=18888888888@163.com&submit=submit" border="0"style="display:none;"/>
     
        <h1>404<h1>
        <h2>file not found.<h2>
    
    </body>
    </html>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    在这里插入图片描述
    建议把这个文件和csrf_get.php放到同一个目录下
    在这里插入图片描述
    不然就会象这样(个人觉得就是有问题的一个链接)
    在这里插入图片描述

    CSRF(post)

    在这里插入图片描述

    获取用户修改提交的URL

    修改信息、抓包、提交、看bp
    在这里插入图片描述

    构造恶意执行语句

    在这里插入图片描述
    刷新页面
    在这里插入图片描述

    CSRF Token

    这是一个防范CSRF的常用方法演示
    在这里插入图片描述
    修改用户信息并提交,在bp里可以看到报文中包含token

    在这里插入图片描述
    到浏览器中看一下源代码,多刷新几次我们可以看到它的token值都是不一样的,想深入了解的话可以看一下token_get_eidt.php
    在这里插入图片描述
    每次请求,都增加一个随机码(需要够随机,不容易被伪造),后台每次对这个随机码进行验证。在生成新token之前会先销毁老token,避免token重复使用。
    在这里插入图片描述

    Token的特点

    1. Token的值必须是随机的,可以通过安全的随机数生成算法实现
    2. Token值是私密的,不能被第三方知晓。可存放在服务器的cookie中,也可以存放在浏览器的cookie中,但(敲黑板!!!)不能直接存放在URL中,可能会导致浏览器通过Refer的方式泄露。
    3. 在使用Token时,尽量将其放在表单中,把敏感操作由GET改成POST,以表单的形式提交,避免Token泄露
    4. Token需要同时放在表单和session中。在提交请求时,服务器只需要验证表单中的Token与用户session(或者cookie)中的Token值是否相同,如果一致,则是合法请求,如果不一致,或者有一个为空,则请求不合法,就可能是CSRF攻击

    防护策略总结

    1. CSRF自动防御策略:同源检测(Origin 和 Referer 验证)。
    2. CSRF主动防御措施:Token验证 或者 双重Cookie验证 以及配合Samesite Cookie。
    3. 保证页面的幂等性,后端接口不要在GET页面中做用户操作。
    4. 为了更好的防御CSRF,最佳实践应该是结合上面总结的防御措施方式中的优缺点来综合考虑,结合当前Web应用程序自身的情况做合适的选择,才能更好的预防CSRF的发生。

    传送门(参考链接)

    (1条消息) 如何防止CSRF攻击?_小曹要加油的博客-CSDN博客_防止csrf攻击

    (1条消息) pikachu之CSRF漏洞_要努力。。的博客-CSDN博客_csrf pikachu

    4-3 csrf token详解及常见防范措施总结_哔哩哔哩_bilibili


  • 相关阅读:
    indexof
    Mongo 服务器上的 CPU 使用率很高,但 Mongo 似乎处于空闲状态
    【ES6 03】变量解构赋值
    D1117内置热保护和电流限制保护功能,输出电流能力为 1.0A,应用于计算机主板和显卡电源管理等产品上
    从 ArcMap 迁移到 ArcGIS Pro
    Qt中常见的文件操作
    Java版的防抖(debounce)和节流(throttle)
    为什么不建议你用 MongoDB 这类产品替代时序数据库?
    Golang for循环遍历小坑
    零点到两点,我部署了一个es
  • 原文地址:https://blog.csdn.net/weixin_51153624/article/details/126784780
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号