[SWPUCTF 2022 新生赛]奇妙的MD5... ...

目录

[SWPUCTF 2022 新生赛]奇妙的MD5

[GDOUCTF 2023]受不了一点

[LitCTF 2023]作业管理系统

注入点一:文件上传

注入点二:创建文件直接写一句话木马

注入点三:获取数据库备份文件

[LitCTF 2023]1zjs


[SWPUCTF 2022 新生赛]奇妙的MD5

or 对应的16进制:276f7227 

ffifdyop字符串,MD5加密之后会变成276f7227 36c95d99e921722cf9ed621c

字符串前几位刚好是 ‘ or ‘6

输入ffifdyop,进入下一关  查看源代码

GET传参x,y二者值不相等,但MD5加密后相等

==弱比较,使用0e、[]数组绕过都可以

?x=QNKCDZO&y=240610708
?x[]=1&y[]=2

 进入下一关,POST传参wqh、dsy二者值不相等,但MD5加密后相等,===强比较 使用[]绕过

[GDOUCTF 2023]受不了一点

<?php
// 设置错误报告级别为0,即关闭错误报告
error_reporting(0);
// 设置HTTP头部信息,指定内容类型为HTML,字符编码为UTF-8
header("Content-type:text/html;charset=utf-8");
// 检查是否存在POST请求中的'gdou'和'ctf'参数
if(isset($_POST['gdou'])&&isset($_POST['ctf'])){
    // 获取POST请求中的'ctf'参数值并存储到变量$b中
    $b=$_POST['ctf'];
    // 获取POST请求中的'gdou'参数值并存储到变量$a中
    $a=$_POST['gdou'];
    // 检查'gdou'和'ctf'参数值是否不相等,并且它们的MD5哈希值相等
    if($_POST['gdou']!=$_POST['ctf'] && md5($a)===md5($b)){
        // 检查是否设置了名为'cookie'的Cookie
        if(isset($_COOKIE['cookie'])){
            // 检查Cookie的值是否等于'j0k3r'
           if ($_COOKIE['cookie']=='j0k3r'){
               // 检查是否存在GET请求中的'aaa'和'bbb'参数
               if(isset($_GET['aaa']) && isset($_GET['bbb'])){
                  // 获取GET请求中的'aaa'和'bbb'参数值
                  $aaa=$_GET['aaa'];
                  $bbb=$_GET['bbb'];
                 // 检查'aaa'和'bbb'是否都等于114514,但不相等
                 if($aaa==114514 && $bbb==114514 && $aaa!=$bbb){
                   // 设置两个变量,用于后续的条件判断
                   $give = 'cancanwordflag';
                   $get ='hacker!';
                   // 检查是否存在GET请求中的'flag'参数和POST请求中的'flag'参数
                   if(isset($_GET['flag']) && isset($_POST['flag'])){
                         // 如果存在,则输出'cancanwordflag'并终止脚本执行
                         die($give);
                    }
                   // 如果POST或GET请求中的'flag'参数等于'flag',则输出'hacker!'并终止脚本执行
                   if($_POST['flag'] === 'flag' || $_GET['flag'] === 'flag'){
                       die($get);
                    }
                    // 遍历所有的POST参数,并将它们作为变量赋值
                    foreach ($_POST as $key => $value) {
                        $$key = $value;
                   }
                    // 遍历所有的GET参数,并将它们作为变量赋值
                    foreach ($_GET as $key => $value) {
                         $$key = $$value;
                    }
                   // 尝试输出变量$flag的值
                   echo $flag;
            }else{
                  // 如果不满足条件,输出"洗洗睡吧"
                  echo "洗洗睡吧";
                 }
    }else{
        // 如果不满足Cookie的条件,输出"行不行啊细狗"
        echo "行不行啊细狗";
        }
  }
}
else {
  // 如果不满足MD5哈希值相等的条件,输出"菜菜"
  echo '菜菜';
}
}else{
  // 如果不存在POST请求中的'gdou'和'ctf'参数,输出"就这?"
  echo "就这?";
}
}else{
  // 如果不存在POST请求中的'gdou'和'ctf'参数,输出"别来沾边"
  echo "别来沾边";
}
?>

第一层:POST传参  gdou[]=1&ctf[]=2,(===强比较,[]数组绕过)

第二层:传入cookie  cookie=j0k3r

第三层:GET传参    ?aaa=114514&bbb=114514a     返回flag

字符串的弱比较,可以用114514a(字符串)来绕过,解析后仍为114514(整型)

字符串弱类型比较时只会截取前面的部分

第四层:flag传入空值 flag=    ,返回$give = 'cancanwordflag';

[LitCTF 2023]作业管理系统

查看源代码发现提示 默认账户admin admin

登录进来发现有很多注入点

注入点一:文件上传

直接上传成功了,连接蚁剑在根目录下找到flag

注意路径

注入点二:创建文件直接写一句话木马

创建文件2.php保存后,同样的连接蚁剑在根目录下找到flag

注入点三:获取数据库备份文件

输入想要获取的数据库名称,使用万能密码1’ or ‘1’=’1爆破

正常情况下  点击备份,然后在网站根目录访问 mysql.zip 就可以下载

此处不知道为什么报错了

注入点四:ftp 远程文件上传

[LitCTF 2023]1zjs

F12查看源码,在/dist/index.umd.js中发现一个关于flag的路径

访问,发现JSfuck编码

解码得flag(自己去一下[])

因为Sfuck也是一种JS代码,F12打开的控制台里可以直接运行js代码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/656107.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【高校科研前沿】湖北工业大学为第一署名单位在《Science》发表Letters文章:应对青藏高原河流泥沙激增

文章简介 论文名称&#xff1a;Combating sediment surge in Tibetan rivers&#xff08;应对青藏高原河流泥沙激增&#xff09; 相关作者及单位&#xff1a;杨洪教授&#xff08;英国雷丁大学&#xff09;&刘德富教授&#xff08;湖北工业大学&#xff09;&Julian R…

代码随想录算法训练营第十四天(py)| 二叉树 | 递归遍历、迭代遍历、统一迭代

1 理论基础 1.1 二叉树的种类 满二叉树 只有度为0和2的节点&#xff0c;且度为0的节点在同一层。 深度为k&#xff0c;有2^k-1个节点 完全二叉树 除了最底层可能没填满&#xff0c;其余每层节点数都达到最大。并且最底层节点全部集中在左边。 二叉搜索树 是一个有数值…

【JVM精通之路】垃圾回收-三色标记算法

首先预期你已经基本了解垃圾回收的相关知识&#xff0c;包括新生代垃圾回收器&#xff0c;老年代垃圾回收器&#xff0c;以及他们的算法&#xff0c;可达性分析等等。 先想象一个场景 最开始黑色节点是GC-Roots的根节点&#xff0c;这些对象有这样的特点因此被选为垃圾回收的根…

Window VScode配置Conda教程(成功版)

VScode配置Conda 参考博文&#xff1a;https://blog.csdn.net/qq_51831335/article/details/126757014Anaconda安装&#xff08;注意勾选自动配置环境变量&#xff01;&#xff09; 官网&#xff1a;https://www.anaconda.com/download/success VScode配置 python插件安装安装 …

Gin与OpenAPI(Swagger)的使用

一、背景 1、swagger与openapi Swagger&#xff1a; 一种用于描述RESTFUL API的规范&#xff0c;它提供了一种简单的来描述API的请求和相应参数、错误码、返回数据类型等信息&#xff0c;是开发者可以方便了解API使用方式。 官网: https://swagger.io/ OpenAPI : 始于 …

京东二面:Sychronized的锁升级过程是怎样的

引言 Java作为主流的面向对象编程语言&#xff0c;提供了丰富的并发工具来帮助开发者解决多线程环境下的数据一致性问题。其中&#xff0c;内置的关键字"Synchronized"扮演了至关重要的角色&#xff0c;它能够确保在同一时刻只有一个线程访问特定代码块或方法&#…

Redis常用命令——Hash篇

前面我们讲述了String的相关操作命令。本篇文章主要讲解Redis中数据结构Hash的相关操作命令。希望会对你有所帮助。 目录 一、Hash哈希 二、命令 HSET HGET HEXISTS HDEL HKEYS HVALS HGETALL HMGET HLEN HSETNX HINCRBY 和 HINCRBYFLOAT 三、小结 &#x1f64b;‍♂️ 作者&a…

SpringBoot整合RabbitMQ的快速使用教程

目录 一、引入依赖 二、配置rabbitmq的连接信息等 1、生产者配置 2、消费者配置 三、设置消息转换器 四、生产者代码示例 1、配置交换机和队列信息 2、生产消息代码 五、消费者代码示例 1、消费层代码 2、业务层代码 在分布式系统中&#xff0c;消息队列是一种重要…

【老王最佳实践-6】Spring 如何给静态变量注入值

有些时候&#xff0c;我们可能需要给静态变量注入 spring bean&#xff0c;尝试过使用 Autowired 给静态变量做注入的同学应该都能发现注入是失败的。 Autowired 给静态变量注入bean 失败的原因 spring 底层已经限制了&#xff0c;不能给静态属性注入值&#xff1a; 如果我…

【AI算法岗面试八股面经【超全整理】——机器学习】

AI算法岗面试八股面经【超全整理】 概率论信息论机器学习深度学习CVNLP 目录 1、回归损失函数2、分类损失函数3、误差&#xff08;Error&#xff09;、偏差&#xff08;Bias&#xff09;、方差&#xff08;Variance&#xff09;4、PCA&#xff08;Principle Component Analysi…

数据库语法树优化

目录 一、σ、π、⋈ 1.选择σ 2.投影π 3.连接⋈ 二、 构建语法树 ① 解读sql语句 ② 写出关系代数表达式 ③ 画出语法树 三、优化语法树 四、练习 语法树优化方法 一、σ、π、⋈ 1.选择σ 选择就是在关系R中选择满足给定条件的诸元组。 通过条件SdeptIS选择出系别…

5,串口编程---实现简单的用串口发送接收数据

单片机通过串口向PC机发送数据 PC机通过串口接收单片机发过来的数据 1.UART和USART的区别&#xff1a; USART支持同步通信方式,可以通过外部时钟信号进行同步传输,而UART仅支持异步通信方式 本开发板STM32F103ZET6有5个串口&#xff0c;用串口1作调试串口&#xff0c;因为串…

【算法实战】每日一题:设计一个算法,用最少数量的矩形覆盖一系列宽度为d、高度为w的矩形,且使用矩形不能超出边界

题目 设计一个算法&#xff0c;用最少数量的矩形覆盖一系列宽度为d、高度为w的矩形建筑物侧墙&#xff0c;且矩形不能超出边界。 核心思路 考虑这种结构 前面递增后面一个与前面的某个高度一致&#xff0c;这时候考虑最下面的覆盖&#xff08;即都是从最下面向上覆盖&#…

进程互斥经典问题(读写者问题、理发店问题)

目录 读写者问题 问题描述 问题分析 进程互斥问题三部曲 读者写者算法实现 一、找进程——确定进程关系 二、找主营业务 三、找同步约束 a.互斥 b.资源 c.配额 理发店问题 问题描述 问题分析 进程互斥问题三部曲 理发店问题算法实现 一、找进程——确定进程…

特朗普竞选带火PoliFi,以Bitget为例

以特朗普系列Meme币为代表的政治金融(PoliFi)概念币市场正在掀起热潮&#xff0c;前美国总统特朗普(Donald Trump)在本月稍早公开力挺加密货币&#xff0c;接着又在周二宣布接受比特币、以太币、SOL、USDC、DOGE…等政治献金&#xff0c;让相关通证高涨。 据CoinGecko数据&…

鲜花门店小程序开发流程:详细教程,让你轻松掌握

想要开发一款专属于自己鲜花门店的小程序吗&#xff1f;不知道从何开始&#xff1f;别担心&#xff0c;本文将为你提供详细的开发流程&#xff0c;帮助你轻松掌握。 1. 注册登录乔拓云网并进入操作后台 首先&#xff0c;你需要注册并登录乔拓云网&#xff0c;然后进入操作后台…

简单随机数据算法

文章目录 一&#xff0c;需求概述二&#xff0c;实现代码三、测试代码四、测试结果五、源码传送六、效果演示 一&#xff0c;需求概述 系统启动时&#xff0c;读取一组图片数据&#xff0c;通过接口返回给前台&#xff0c;要求&#xff1a; 图片随机相邻图片不重复 二&#…

AcWing 2568:树链剖分 ← 线段树+DFS

【题目来源】https://www.acwing.com/problem/content/2570/【题目描述】 给定一棵树&#xff0c;树中包含 n 个节点&#xff08;编号 1∼n&#xff09;&#xff0c;其中第 i 个节点的权值为 ai。 初始时&#xff0c;1 号节点为树的根节点。 现在要对该树进行 m 次操作&#xf…

力扣225. 用队列实现栈

Problem: 225. 用队列实现栈 文章目录 题目描述&#xff1a;思路Code 题目描述&#xff1a; 思路 1.对一个queue模拟栈的操作&#xff0c;同时用一个int类型的变量topElem记录每次每次队列队尾的元素&#xff08;也即是模拟stack中的stack的栈顶元素&#xff09;&#xff1b; 2…

Linux之单机项目部署

1、虚拟机&#xff08;VMware&#xff09;创建Linux系统 1.1、创建虚拟机 1.2、配置虚拟机IOS映射文件 1.3、虚拟机内部相关配置 等待加载即可&#xff0c;加载完后会弹出图形化界面&#xff0c;如图&#xff1a; 注意&#xff1a;一般我们做为管理员使用ROOT账号来操作&#x…