[SWPUCTF 2021 新生赛]jicao、easy_md5

news2025/1/11 8:02:17

目录

一、[SWPUCTF 2021 新生赛]jicao

什么是JSON?

JSON语法:

[SWPUCTF 2021 新生赛]jicao

二、[SWPUCTF 2021 新生赛]easy_md5

PHP弱类型和强类型

1.弱类型比较(==)

2.强类型比较(===)

[SWPUCTF 2021 新生赛]easy_md5

解法一:使用md5绕过

解法二:使用数组绕过


一、[SWPUCTF 2021 新生赛]jicao

什么是JSON?

JSON是什么?对JSON的简单理解_josn是什么-CSDN博客

JSON(全称JavaScript)是一种存储数据的方式,使用键值对e.g.{“key”:”value”}的形式表示数据。

JSON中,键是一个字符串。

                值可以是字符串、数字、布尔值、数组、嵌套的JSON对象或null。

JSON语法:

使用花括号 {} 表示一个JSON对象。

键和值之间使用冒号 : 分隔。

每个键值对之间使用逗号 , 分隔。

示例:

{    //键
    "usename":"admin",           //值为       //字符串
    "id":123,                                 //数字
    "password":123,
    "interests": ["reading", "traveling"],    //数组
    "addrees":
    {
        "campus":"moudaxue",
        "zhuanye":"computer"                  //嵌套的JSON
    },
    "beizhu":null                             //空
    
}
[SWPUCTF 2021 新生赛]jicao

打开环境,php代码说明了flag.php文件包含于index.php中,设定了一个POST请求的id和GET请求的json。当id,json分别等于字符串时,返回flag。

故 GET传参?json={"x":"wllm"}        POST传参 id=wllmNB

得到flag。

二、[SWPUCTF 2021 新生赛]easy_md5

PHP弱类型和强类型

PHP弱类型和强类型_php 强类型-CSDN博客

php是一种弱类型语言,对数据的类型要求并不严格,可以让数据类型互相转换。

php其中的两种比较符号:

==:先将字符串类型转换相同,再比较。(松散比较)(只比较值,不比较数据类型)

===:先判断两种字符串的类型是否相等,再比较。(进行严格的类型和值比较)

1.弱类型比较(==)

若字符型值开头为数字,转为数字;

若开头不为数字,为 null 弱比较,与 0 相等。

  "123abc"==123     => true

 ''abc123''==123     => false

 ''abc123''==0         => true

2.强类型比较(===)

当两个操作数的类型和值完全相等时,才会返回true,否则返回false。

  "123abc"==="123abc"     => true

[SWPUCTF 2021 新生赛]easy_md5

 打开环境,php代码说明了flag.php文件包含于FILE中,设定了一个POST请求的password和GET请求的name。当name不等于password,但它们通过MD5加密后相等时,返回flag。

解法一:使用md5绕过

php中存在== 弱类型比较,可通过hash比较的缺陷绕过

hash比较的缺陷:

两个数的md5加密后的值以0e开头就可以绕过

因为以0e开头的数会被认为是科学计数法,0e+任何数 在科学计数法中都是0,故两数相等

常见的MD5碰撞:md5值为0e开头_md5 0e开头-CSDN博客

找了两个0e开头的MD5原值(QNKCDZO、240610708)分别作为name,password传参

得到flag。

解法二:使用数组绕过

由于md5()函数存在缺陷,加密[]的时候返回值如果是NULL,就能成功的绕过

可使用[]类型比较的方法, GET传参?name[]=1        POST传参 password[]=2

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

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

相关文章

OceanBase数据库日常运维快速上手

这里为大家汇总了从租户创建、连接数据库,到数据库的备份、归档、资源配置调整等,在OceanBase数据库日常运维中的操作指南。 创建租户 方法一:通过OCP 创建 确认可分配资源 想要了解具体可分配的内存量,可以通过【资源管理】功…

华为OD机试 - 结队编程(Java 2024 C卷 100分)

华为OD机试 2024C卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试(JAVA)真题(A卷B卷C卷)》。 刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试…

Google DeepMind: Many-Shot vs. Few-Shot

本文介绍了如何通过增大上下文窗口,利用大型语言模型(LLMs)进行多实例上下文学习(Many-Shot In-Context Learning,ICL)的方法。主要描述了现有的几实例上下文学习方法虽然在推理时能够通过少量例子学习&…

MicroSIP电话呼叫软件使用及配置方法

MicroSIP是一款开源的SIP协议电话软件,它可以帮助你在计算机上进行语音和视频通话。下面是关于如何使用和配置MicroSIP的一些基本步骤: 安装MicroSIP 从MicroSIP官方网站下载适合你操作系统的安装包23。 解压下载的文件,并运行安装程序。 …

可以与 FastAPI 不分伯仲的 Python 著名的 Web 框架

正如你所理解的,任何领域都不可能停止进步,不断使用相同的工具意味着不思进取。这一点在信息技术领域,尤其是网络开发行业非常明显。 关于网络框架,不论是 Django 和 Flask 等传统框架还是 Python 的新型高级框架,一直…

算法课程笔记——常用库函数

memset初始化 设置成0是可以每个设置为0 而1时会特别大 -1的补码是11111111 要先排序 unique得到的是地址 地址减去得到下标 结果会放到后面 如果这样非相邻 会出错 要先用sort排序 O(n)被O(nlogn)覆盖

【智能算法】饥饿游戏搜索算法(HGS)原理及实现

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.结果展示4.参考文献 1.背景 2021年,Yang等人受到自然界饥饿驱动的活动和动物的行为选择启发,提出了饥饿游戏搜索算法(Hunger Games Search, HGS)。 2.算法原理 2.1算法思想 HGS…

【Java网络编程】网络编程概述、UDP通信(DatagramPacket 与 DatagramSocket)

目录 1、网络编程 1.1、概述 1.1、网络编程三要素 2、UDP通信 2.1、DatagramPacket 与 DatagramSocket 2.1、 UDP发收数据示例 1、网络编程 1.1、概述 在网络通信协议下,不同计算机上运行的程序,进行的数据传输应用场景:即时通信、网游…

韩顺平Java | C27 正则表达式

入门介绍 需求:提取文本中某类字符 传统方法:遍历每个字符,判断其是否在ASCII码中某种类型得编码范围内,代码量大,效率不高 正则表达式(RegExp, regular expression):处理文本的利器,是对字符…

网络编程套接字(三)之TCP服务器简单实现

目录 一、服务端TcpServer 1、tcp_server.hpp 2、tcp_server.cc 二、客户端TcpClient tcp_client.cc 三、服务器和客户端进行通信 四、完整代码 一、服务端TcpServer 首先我们需要对服务端进行封装。我们需要的成员变量有IP地址,端口号port,以及监…

49.基于SpringBoot + Vue实现的前后端分离-爱心公益网站系统(项目 + 论文)

项目介绍 本站是一个B/S模式系统,采用SpringBoot Vue框架,MYSQL数据库设计开发,充分保证系统的稳定性。系统具有界面清晰、操作简单,功能齐全的特点,使得基于SpringBoot Vue技术的爱心公益网站系统设计与实现管理工作…

Gartner发布信任、风险和安全管理领域的生成式人工智能创新指南:生成式AI整个生命周期运行中的攻击面

生成式人工智能带来了三类新风险:内容异常、数据保护和人工智能应用安全。使用或构建 GenAI 应用的 IT 领导者可以利用这项研究来了解市场动态并评估新兴的 GenAI TRiSM 技术和解决新风险的提供商。 主要发现 在企业应用中集成大语言模型(LLM &#xff0…

《QT实用小工具·三十》基于QT开发的访客管理平台demo

1、概述 源码放在文章末尾 该项目为访客管理平台demo,包含主界面、系统设置、警情查询、调试帮助、用户退出功能。 项目部分代码如下: #ifndef QTHELPER_H #define QTHELPER_H#include "head.h"class QtHelper { public://获取所有屏幕区域…

Vue 3 项目构建与效率提升:vite-plugin-vue-setup-extend 插件应用指南

一、Vue3项目创建 前提是已安装Node.js(点击跳转Node官网) npm create vuelatest这一指令将会安装并执行 create-vue,它是 Vue 官方的项目脚手架工具。你将会看到一些诸如 TypeScript 和测试支持之类的可选功能提示: ✔ Projec…

InstantMesh:利用稀疏视图大规模重建模型从单张图像高效生成3D网格

作者:Jiale Xu,Weihao Cheng,Yiming Gao等 编译:东岸因为一点人工一点智能 InstantMesh:利用稀疏视图大规模重建模型从单张图像高效生成3D网格在这项工作中,我们提出了InstantMesh,一个开源的…

5.MMD ray渲染天空盒的导入和参数介绍

现在已经有了一个TDAMiku的模型 1. Sky with box 导入Sky with box.pmx 天空盒 再把ray.x和ray_controler.pmx放进去 调节背景模型绘制顺序 天空盒在最上面 上材质 给miku上main.fx材质 在自发光一栏给天空盒添加对应的材质 Sky with lighting.fx 调节参数 按TAB…

python中的守护进程、僵尸进程、孤儿进程

继续上一篇文章的探讨:https://blog.csdn.net/weixin_39743356/article/details/137885419 守护进程 守护进程(Daemon Process)是一种在后台运行的特殊类型的进程,它独立于控制终端,并且周期性地执行某种任务或等待处…

性能分析与调优

性能分析方法 自底向上:通过监控硬件及操作系统性能指标(cpu、内存、磁盘、网络等硬件资源的性能指标)来分析性能问题(配置、程序问题) 先检查,再下药 自顶向下:通过生成负载来观察被测试的系…

解锁外贸财务系统宝藏:多语言多货币平台推荐汇总

本文将为您推荐几款主流的多语言多货币外贸财务系统有:Zoho Books 、SAP、Oracle、QuickBooks、Xero、TradeGecko,并分析了每款产品的主要特点,希望能帮助到你! 一、Zoho Books Zoho Books是一款支持180种货币、17种语言的外贸…

视频技术笔记-色差分量

色差分量接口采用YPbPr和YCbCr两种标识。 YPbPr:表示逐行扫描色差输出。 YCbCr:后者表示隔行扫描色差输出。 色差分量接口一般利用3根信号线分别传送亮色和两路色差信号。 色差分量接口是色差接口使用不是很普遍,主要的原因是一些CRT电视机…