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

news2024/11/26 5:42:59

目录

[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代码

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

欧科云链:Web3.0时代 具备链上数据分析能力的公司愈发凸显其价值

在当今激烈的市场竞争中&#xff0c;新兴互联网领域迅速崛起&#xff0c;Web2.0已相对成熟&#xff0c;用户创造数据&#xff0c;但不拥有数据。被视为新的价值互联网的Web3.0&#xff0c;赋予用户真正的数据自主权&#xff0c;它的到来被认为是打破Web2.0垄断的机遇。 在Web3…

寒冬来了,字节跳动开启裁员新模式。。

大家好&#xff0c;我是白露啊。 不得不说&#xff0c;字节跳动还是真的会搞事啊。 最近一段时间&#xff0c;字节搞出了一个裁员新模式&#xff1a;“细水长流”。这个寓意和“财&#xff08;裁&#xff09;源&#xff08;员&#xff09;广进”计划差不多了&#xff0c;只不…

YOLOv10:实时端到端目标检测

Ao Wang Hui Chen∗  Lihao Liu Kai Chen Zijia Lin  Jungong Han Guiguang Ding Tsinghua University Corresponding Author. 文献来源&#xff1a;中英文对照阅读 摘要 在过去的几年里&#xff0c;YOLO 因其在计算成本和检测性能之间的有效平衡而成为实时目标检测领…

Java | Leetcode Java题解之第101题对称二叉树

题目&#xff1a; 题解&#xff1a; class Solution {public boolean isSymmetric(TreeNode root) {return check(root, root);}public boolean check(TreeNode u, TreeNode v) {Queue<TreeNode> q new LinkedList<TreeNode>();q.offer(u);q.offer(v);while (!q.…

SpringBoot使用redis结合mysql数据库(黑名单)渲染商品详情界面

目录 一、界面效果 二、前端代码 三、后端代码&#xff08;redisblacklist&#xff09; 3.1 ProducatController 3.2 ProductService 3.3 ProductDao 3.4 映射文件 一、界面效果 二、前端代码 商品详情前端代码 <template><van-nav-bartitle"商品详情&quo…

ubuntu24.04LVM扩容问题

目录 一、 开机前设置&#xff1a;扩展 二、 开机后设置&#xff1a;分区管理 通过gparted管理分区有效做法。 一、 开机前设置&#xff1a;扩展 虚拟机关机。打开虚拟机设置。 挂起状态是不能扩容的 这里选择扩容到40G 二、 开机后设置&#xff1a;分区管理 使用gpar…

md5强弱碰撞

一&#xff0c;类型。 1.弱比较 php中的""和""在进行比较时&#xff0c;数字和字符串比较或者涉及到数字内容的字符串&#xff0c;则字符串会被转换为数值并且比较按照数值来进行。按照此理&#xff0c;我们可以上传md5编码后是0e的字符串&#xff0c;在…

拉格朗日插值及牛顿差商方法的实现(Matlab)

一、问题描述 拉格朗日插值及牛顿差商方法的实现。 二、实验目的 掌握拉格朗日插值和牛顿差商方法的原理&#xff0c;能够编写代码实现两种方法&#xff1b;能够分析多项式插值中的误差。 三、实验内容及要求 利用拉格朗日插值及牛顿差商方法估计1980 年的人口&#xff0c;并…

Docker 基础使用 (1)

文章目录 Docker 软件安装Docker 镜像仓库Docker 仓库指令Docker 镜像指令Docker 容器指令Docker 使用实例 —— 搭建 nginx 服务nginx 概念nginx 使用用 docker 启动 nginx 侧重对docker基本使用的概览。 Docker 软件安装 Linux Ubuntu 依次执行以下指令即可 # 更新软件包列…

Java | Leetcode Java题解之第102题二叉树的层序遍历

题目&#xff1a; 题解&#xff1a; class Solution {public List<List<Integer>> levelOrder(TreeNode root) {Queue<TreeNode> queue new LinkedList<>();List<List<Integer>> res new ArrayList<>();if (root ! null) queue.a…

代码模板,Cookie和Session

目录 代码模板 Cookie的基本使用 概念 Cookie的API public Cookie(String name, String value) 发送Cookie对象到客户端&#xff1a;使用response对象 创建Cookie对象并响应给浏览器 在服务器后端获取Cookie对象 Cookie[]cookiesrequset.getCookies(); Cookie的使用细…

Linux 软件包管理器 yum的下载、功能介绍及使用

&#x1fa90;&#x1fa90;&#x1fa90;欢迎来到程序员餐厅&#x1f4ab;&#x1f4ab;&#x1f4ab; 主厨&#xff1a;邪王真眼 主厨的主页&#xff1a;Chef‘s blog 所属专栏&#xff1a;青果大战linux 总有光环在陨落&#xff0c;总有新星在闪烁 Linux下的三种软件安装方…

香橙派 AiPro通过Micro USB接口进行串口调试

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、配置步骤1.安装CH343驱动2.配置串口参数 二、使用步骤总结 前言 最近在玩一个新玩具香橙派 AiPro&#xff0c;除了通过SSH方式连接开发板以外&#xff0c;…

创新指南|降低 TikTok CPA 的 9 项专家策略

企业在 TikTok 上投放广告&#xff0c;往往最想确保获得最佳的投资回报。然而&#xff0c;这往往说起来容易做起来难。您需要了解如何利用不同的营销工具、定位策略和创意执行来实现您的业务目标并提高成本效率。本文将分享 9 个行之有效的策略&#xff0c;助您有效降低 TikTok…

【介绍下如何在SQL中添加数据】

&#x1f3a5;博主&#xff1a;程序员不想YY啊 &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 ✨希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出…

Linux——多线程(一)

一、线程的概念 1.1线程概念 教材中的概念&#xff1a; (有问题?) 线程是进程内部的一个执行分支&#xff0c;线程是CPU调度的基本单位 之前我们讲的进程&#xff1a; 加载到内存中的程序&#x…

go-zero 实战(2)

go-zero 实战&#xff08;1&#xff09; 中&#xff0c;使用了go-zero 创建了order 和 user 两个微服务。而order作为grpc的客户端&#xff0c;user 作为grpc的服务端&#xff0c;打通了 order 到 user的调用。接下来&#xff0c;我们在user中&#xff0c;加入mysql组件。确保数…

module ‘plotting‘ has no attribute ‘EpisodeStats‘

plotting.py 的版本不同&#xff0c;可以使用下列版本 reinforcement-learning/lib/plotting.py at master dennybritz/reinforcement-learning GitHubImplementation of Reinforcement Learning Algorithms. Python, OpenAI Gym, Tensorflow. Exercises and Solutions to a…

【Real】[Flask]SSTI

文章目录 前言一、题目解读二、解题过程三、知识点Flask是什么SSTI是什么SSTI是如何形成的易于利用的类payload是什么 探索类型和类层次结构和方法 前言 温馨提示&#xff1a;看到哪里不懂直接跳到知识点部分&#xff0c;理解完再回到解题过程。 一、题目解读 题目是[Flask]S…

winform安装时覆盖原版本并保留配置文件

如何打包参考大佬的博客添加链接描述 覆盖原版本 修改 Properties 下的 AssemblyInfo.cs 中的版本号&#xff0c;如下。原来是1.0.0.0&#xff0c;我修改成1.0.2。 选中 Setup 项目&#xff0c;修改 Version 属性修改 Version 属性后 ProductCode 也会改变&#xff0c;卸载程…