BUUCTF [MRCTF2020]Ez_bypass

2023-10-31

BUUCTF [MRCTF2020]Ez_bypass

记录一次BUUCTF做题过程

首先打开题目
给我们一串PHP代码
将其还原,大概是这样

I put something in F12 for you 
<?php 
include 'flag.php'; 
$flag='MRCTF{xxxxxxxxxxxxxxxxxxxxxxxxx}'; 
if(isset($_GET['gg'])&&isset($_GET['id'])) { // 传入两个GET,gg和id
    $id=$_GET['id']; 
    $gg=$_GET['gg']; 
    if (md5($id) === md5($gg) && $id !== $gg) { // 经过md5后两个值,全等,且传入的值不相同
        echo 'You got the first step'; 
        if(isset($_POST['passwd'])) { 	// 传入POST,passwd
            $passwd=$_POST['passwd']; 
            if (!is_numeric($passwd)) { // passwd不能为数字
                if($passwd==1234567) { // passwd必须要和1234567对等
                    echo 'Good Job!'; 
                    highlight_file('flag.php'); 
                    die('By Retr_0'); 
                } else { 
                    echo "can you think twice??"; 
                    } 
            } else{ 
                echo 'You can not get it !'; 
                } 
        } else{ 
            die('only one way to get the flag'); 
            } 
    } else { 
        echo "You are not a real hacker!"; 
        } 
} else{ 
    die('Please input first'); 
    }
?>
Please input first

分析

  1. 我们需要传入两个GET值和一个POST值
  2. 两个GET值不相同,但经过md5函数后相同
  3. POST值不能为数字,但要和1234567对等
  4. 很明显,这题考的是MD5函数漏洞和PHP弱类型比较
  5. 因为md5()无法处理数组,当你传入数组的时候,md5()会返回false,当两个md5()都返回false时,false=false,则条件成立。
  6. PHP弱类型比较,当字符串和数字比较时会被强转,比较时忽略后面的字符串。比如判断1234567c == 123456时,PHP会比较前面的数字部分1234567 == 1234567,解决方法是全等 ===

实操

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

BUUCTF [MRCTF2020]Ez_bypass 的相关文章

  • 如何使用 PHP 获取列中的所有值?

    我一直在到处寻找这个问题 但仍然找不到解决方案 如何从 mySQL 列中获取所有值并将它们存储在数组中 例如 表名称 客户 列名称 ID 名称 行数 5 我想获取此表中所有 5 个名称的数组 我该如何去做呢 我正在使用 PHP 我试图 SE
  • 如何移动 Zend_Layout 的“视图”

    通常它会是这样的结构 application modules somemodule views scripts index index phtml 我如何将其移动到 application templates somemodule temp
  • Laravel 注册成功后如何重定向到上一页?

    现在redirectTo被设定为 home 我想知道如何重定向到上一页 我尝试使用 protected redirectTo URL previous 但我得到解析错误 期待 or 解决这个问题的最佳解决方案是什么 我想我需要重写 redi
  • PHP DBlib PDO 问题

    我正在尝试通过 php 连接到 MSSQL 服务器 但我的 pdo 连接给我带来了困难和我不太理解的错误 我在下面粘贴的代码一周前运行得很好 突然间它就停止了 没有任何人进行任何更改 我仍然可以连接到服务器并直接从命令行运行查询 但我在 p
  • PHP 自定义会话处理程序问题 (PHP 7.1)

    我刚刚在计算机上从 PHP 7 0 迁移到 PHP 7 1 当前版本的 WAMP 的全新 全新安装 它似乎破坏了自定义会话处理程序中的某些内容 该处理程序应该将会话保存到数据库而不是使用文件系统 自定义处理程序类是 class db ses
  • 如何将JS/CSS文件包含到Slim框架的模板中?

    我正在使用 Slim 框架开发一个简单的网络应用程序 我遇到了一个可能很简单的问题 我想将静态文件 CSS 和 Javascript 包含到我的模板中 我的项目文件夹结构如下 index php lt where all the routi
  • Laravel 5 配置语言环境,不起作用

    已完成的修改 on 配置 应用程序 php locale gt env APP LOCALE en fallback locale gt en on env APP LOCALE pt 我也复制了 资源 lang en文件到 资源 lang
  • Zend 框架会话丢失

    我有一个注册表单 当用户注册时 它会将他重定向到他的页面 在 Firefox 和 Chrome 中一切正常 但在 Internet Explorer 中则正常 看起来保存用户信息后 会话就关闭了 并且不会将用户重定向到他的页面 我该如何解决
  • 与 PHP 相比,Python 与 HTML 的“流畅”程度如何?

    我正在考虑从使用 PHP 切换到使用 Python 来开发 Web 应用程序 但我想知道 Python 是否像 PHP 一样擅长在 HTML 中穿插 本质上 我发现它使用起来非常简单 直观将 PHP 放在我想要的位置 然后可以随意安排 组织
  • php/symfony/doctrine 内存泄漏?

    我在使用 symfony 1 4 和原则 1 2 将对象批量插入数据库时 遇到问题 我的模型有一种称为 Sector 的对象 每个对象都有多个 Cupo 类型的对象 通常范围从 50 到 200000 这些物体非常小 只是一个短标识符字符串
  • PHP 多个 Ajax 请求:第一个请求阻止第二个请求

    我在一页上有 2 个 ajax 请求 我运行了第一个请求并单独启动了第二个请求 但第二个在第一个运行后停止工作 第一次结束后继续 第一个请求需要很长时间 大约 30 60 秒 此时我需要第二个请求来显示日志第一个请求发生的情况 我尝试使用
  • 如何使用 Google Calendar API 和官方 PHP 库创建全天活动?

    我有这个代码 event new Event event gt setSummary event summary event gt setLocation event location start new EventDateTime sta
  • 我应该在 Symfony 中哪里放置既不是控制器也不是模型的类?

    对于我的应用程序包 我需要一些既不是控制器也不是模型的类 例如 我想要一个scorecard具有诸如 技能 效率 美丽 等成员的类 此外 它可能具有诸如 meanScore 之类的成员方法 getters 这样的类在 Symfony 框架中
  • php 包含打印 1

    我编写了以下代码 当我将 include 函数与旨在输出到页面的函数 例如 或 echo include foo php 结合使用时 它会返回包含内容 但在已包含的内容后面带有 1 echo include foo php 应该 inclu
  • 将 Base64 字符串转换为图像文件? [复制]

    这个问题在这里已经有答案了 我正在尝试将我的 Base64 图像字符串转换为图像文件 这是我的 Base64 字符串 http pastebin com ENkTrGNG http pastebin com ENkTrGNG 使用以下代码将
  • 什么是 PHP session_start()

    它是否基于 cookie 启动当前会话 从 PHP 网站上得到的 PHP如何控制会话 如果我在用户打开我的登录页面时启动会话 我什至可以使用该会话做什么 我可以使用当前会话来获取有关登录用户的信息吗 PHP 会话系统允许您将数据安全地存储在
  • MVC 框架中的缓存策略?

    我编写了自己的小型 PHP MVC 框架 现在正在探索 PHP MVC 框架中的缓存策略 我正在考虑可以缓存什么 在哪里以及如何缓存 我的框架是简单的MVC框架 我有前端控制器 它启动应用程序 注册类自动加载 设置 php 运行时指令 最后
  • 使用 yaml 路由描述时如何在运行时获取 Symfony2 中的路由名称?

    在这里你可以找到我的n关于 Symfony2 的第一个问题 我正在与一个分页捆绑 https github com makerlabs PagerBundle wiki使用中提供的路由名称routing yml文件 从我的角度来看 这种方法
  • 如何强制下载图片?

    我的页面上有一个动态生成的图像 如下所示 img src 我不想告诉我的用户右键单击图像并点击保存 而是想公开一个下载链接 单击该链接将提示下载图像 如何实现这一目标 最初我在 js 中尝试这样做 var path my image att
  • SimpleXML 返回空数组

    我正在尝试使用 Google Maps API 和 PHP SimpleXML 获取城市的纬度和经度 我尝试这样做 xml simplexml load file http maps googleapis com maps api geoc

随机推荐

  • Android Studio:如何使用网格布局将整个界面等比分为三行三列

    刚开始接触android开发 还在摸索基础控件 老师说解决了一个问题就要记录下来以防以后遗忘 所以这里小小记录一下碰到的问题 课本上的一道题目 怎么将界面等比分为三行三列 显示一个红色的 十 字效果 如下图所示 采用线性布局非常简单 直接
  • Java从入门到入坟系列学习路线目录索引(持续更新中~~~)

    Java学习路线目录索引 一 Java基础 二 Java数据库 Mysql 三 Java设计模式 四 SSM等主流框架 五 MybatisPlus 六 SpringBoot 七 SpringCloud 微服务 八 Redis 九 Docke
  • 西门子S7-200SMART 通信组态

    这里主要说一下关于S7 200SMART通信组态的问题 S7 200 SMART 可实现 PLC 编程设备 工控机 电脑 和 HMI 之间的多种通信方式 以太网 实现工控机 普通PC和PLC之间通信 程序下载上载等 实现PLC和HMI之间通
  • 【核磁共振成像】磁共振成像基础

    目录 一 振幅 二 频率 三 相位 四 脉冲 1 脉冲定义 2 选择性脉冲和非选择性脉冲 3 带宽 五 MRI的基本硬件构成 1 主磁体 1 主磁体是产生磁场的装置 2 MRI按主磁场强度分类 3 优缺点 4 高度均匀的磁场 2 梯度系统
  • MVC开发模式

    总结 1 JSTL存在的目的和EL表达式一样为了减少JSP页面的脚本代码也就是java代码 JSTL的引入方式 1 导入jar包 1 jstl jar standard jar 2 在jsp页面导入包
  • MySQL8 提示1055 错误代码

    问题产生场景 今天使用Python3 PyMYSQL SQLAlchemy 执行分组查询提示如下错误信息 sqlalchemy exc OperationalError pymysql err OperationalError 1055 E
  • stm32+VL53L0x激光测距实验,keil5测试工程已经上传CSDN

    stm32 VL53L0x激光测距实验 连接方式 SCL PA3 SDA PA2 VCC 3 3V GND GND GPIO1 浮空 XSHUT PA5 这个其实是使能 0关闭 1启动 给大家看看我买的模块样子 串口助手上显示的内容 测量到
  • 解决div出现横向滚动条,背景色没铺满问题

    问题描述 如图 div等块级元素默认宽度为100 当页面渲染完后其宽度已经固定 这时候如果文字超出其宽度 如调用api后显示的结果 我们如果希望其出现滚动条 这时超过原宽度的部分背景可能跟文字背景不一样 如图 1 初始情况 2 点击菜单后出
  • 等保windows server安全策略三权分立设置

    三权的理解 配置 授权 审计 三员的理解 系统管理员 安全保密管理员 安全审计员 三员之三权 废除超级管理员 三员是三角色并非三人 安全保密管理员与审计员必须非同一个人 控制面板 计算机管理 本地用户和组 安全用户配置 审计用户配置
  • 群晖系统ftp服务器,群晖对接云服务器ftp

    群晖对接云服务器ftp 内容精选 换一换 用户可以在MRS Manager界面上配置监控指标数据对接参数 使集群内各监控指标数据通过FTP或SFTP协议保存到指定的FTP服务器 与第三方系统进行对接 FTP协议未加密数据可能存在安全风险 建
  • (unity)游戏中摇杆:控制角色移动

    摇杆其实挺简单的 只需要一个需要控制的角色target和控制其移动的方向传出去 调用角色的move函数就可以了 我是传出去使用的角度 基于摄像机当前前方向 摇杆上方向和摇杆当前到中心的向量之间的角度旋转 有点绕 如图所示 isDown是一个
  • 『phphot』【SD2.0大会】毛新生:“傻瓜”软件将成用户最爱

    原文链接 http blog csdn net phphot archive 2007 11 30 1909244 aspx作者 phphot phphot http blog csdn net phphot 中国最大的IT技术社区CSDN
  • JAVA使用mysql加密解密函数(AES_ENCRYPT/AES_DECRYPT)

    前言 最近大学做JavaWeb课设时发现 很多同学的有关于账号密码都是明文储存在mysql数据库中 其实这样做在实际应用中是非常不安全的 其实mysql最近本身就提供了非常好的两个函数来供我们去加密解密我们要存入的数据 下面我们就来介绍一下
  • JS中Array的forEach、map、filter方法区别?

    一 基本用法 1 forEach 函数用于对数组中的每个元素执行给定的函数 而它不返回任何值 它只是对每个元素调用传入的函数 这个函数可以接受三个参数 当前元素的值 当前元素的索引和整个数组 const arr 1 2 3 arr forE
  • 2023年第二届全国大学生数据统计与分析竞赛题目B:电影评分的大数据分析

    竞赛信息 在大数据时代背景下 统计学作为大数据分析领域的基础显得尤为重要 为了帮助学生更好的学习和应用数据统计与分析的知识 促进统计 计算机 数学等相关专业的发展 培养具有数据分析与应用型人才 经研究决定 中国国际经济技术合作促进会教育发展
  • HBase集群搭建记录

    本文目录 写在前面 step1 Maven的下载与配置 1 下载解压 2 环境变量设置 3 查看安装 4 设置阿里云镜像 加速jar包下载 step2 Maven项目的创建 1 创建项目 2 编译项目 3 测试项目 4 打包项目 5 安装项
  • 秒杀多线程第十二篇 多线程同步内功心法——PV操作上

    秒杀多线程第十二篇 多线程同步内功心法 PV操作上 前面的文章讲解了在Windows系统下实现多线程同步互斥的方法 为了提高在实际问题中分析和思考多个线程之间同步互斥问题的能力 接下来将讲解PV操作 这也是操作系统中的重点和难点 本文将会先
  • GitHub上9款美观大气的后台管理系统,基于但不限于vue、react、Angular、Bootstrap框架

    文章目录 1 vue element admin 2 D2Admin 3 Vue admin better 4 AdminLTE 5 Ant Desiong Pro 6 Tabler 7 ngx admin 8 Gentelella 9 b
  • 桥接与NAT连接的区别

    一 网络模式 我们首先说一下VMware的几个虚拟设备 VMnet0 用于虚拟桥接网络下的虚拟交换机 VMnet1 用于虚拟Host Only网络下的虚拟交换机 VMnet8 用于虚拟NAT网络下的虚拟交换机 VMware NetworkA
  • BUUCTF [MRCTF2020]Ez_bypass

    BUUCTF MRCTF2020 Ez bypass 记录一次BUUCTF做题过程 分析 实操 记录一次BUUCTF做题过程 首先打开题目 将其还原 大概是这样 I put something in F12 for you