Bugkuctf web 前女友

2023-10-30

老规矩,有新东西就记上一记
题目链接

在这里插入图片描述

这个有点儿意思,,,,,

在这里插入图片描述打开源码

在这里插入图片描述好了,代码意思比较简单

重点看圈住的代码就好

满足v1v2的值不等但是md5相等
且v3=flag才行

好了,新知识来了

首先是md5()函数漏洞
第一种

$_GET['a'] != $_GET['b'] 
&&
MD5($_GET['a']) == MD5($_GET['b'])

要让上面的等式成立,a和b的值不能相等,但是md5后的值相等。因为是 == 比较,只判断值是否相等,不判断类型是否相同。如果类型不同先转换为相同类型再进行比较而PHP在处理哈希字符串时后,会把0E开头的哈希值解释为0。所以如果两个值通过md5后值都已0E开头,就会相等。

那么这些值有哪些呢?

QNKCDZO
240610708
s878926199a
s155964671a
s214587387a
s214587387a

第二种

$_POST['a1']!==$_POST['a2'] 
&& 
md5($_POST['a1'])===md5($_POST['a2'])

=== 不仅比较值相等还会要求类型比较

但是
md5无法处理数组!所以构建数组就可以了

第三种

(string)$_POST['a1']!==(string)$_POST['a2'] 
&& 
md5($_POST['a1'])===md5($_POST['a2'])
}

这里比较的是字符串
那么md5值相同的字符串有哪些呢?

#仔细看,数值均不同

#强网杯某大牛wp
$Param1="\x4d\xc9\x68\xff\x0e\xe3\x5c\x20\x95\x72\xd4\x77\x7b\x72\x15\x87\xd3\x6f\xa7\xb2\x1b\xdc\x56\xb7\x4a\x3d\xc0\x78\x3e\x7b\x95\x18\xaf\xbf\xa2\x00\xa8\x28\x4b\xf3\x6e\x8e\x4b\x55\xb3\x5f\x42\x75\x93\xd8\x49\x67\x6d\xa0\xd1\x55\x5d\x83\x60\xfb\x5f\x07\xfe\xa2";
$Param2="\x4d\xc9\x68\xff\x0e\xe3\x5c\x20\x95\x72\xd4\x77\x7b\x72\x15\x87\xd3\x6f\xa7\xb2\x1b\xdc\x56\xb7\x4a\x3d\xc0\x78\x3e\x7b\x95\x18\xaf\xbf\xa2\x02\xa8\x28\x4b\xf3\x6e\x8e\x4b\x55\xb3\x5f\x42\x75\x93\xd8\x49\x67\x6d\xa0\xd1\xd5\x5d\x83\x60\xfb\x5f\x07\xfe\xa2";
#008ee33a9d58b51cfeb425b0959121c9

#知乎Belleve
$data1="\xd1\x31\xdd\x02\xc5\xe6\xee\xc4\x69\x3d\x9a\x06\x98\xaf\xf9\x5c\x2f\xca\xb5\x07\x12\x46\x7e\xab\x40\x04\x58\x3e\xb8\xfb\x7f\x89\x55\xad\x34\x06\x09\xf4\xb3\x02\x83\xe4\x88\x83\x25\xf1\x41\x5a\x08\x51\x25\xe8\xf7\xcd\xc9\x9f\xd9\x1d\xbd\x72\x80\x37\x3c\x5b\xd8\x82\x3e\x31\x56\x34\x8f\x5b\xae\x6d\xac\xd4\x36\xc9\x19\xc6\xdd\x53\xe2\x34\x87\xda\x03\xfd\x02\x39\x63\x06\xd2\x48\xcd\xa0\xe9\x9f\x33\x42\x0f\x57\x7e\xe8\xce\x54\xb6\x70\x80\x28\x0d\x1e\xc6\x98\x21\xbc\xb6\xa8\x83\x93\x96\xf9\x65\xab\x6f\xf7\x2a\x70";
$data2="\xd1\x31\xdd\x02\xc5\xe6\xee\xc4\x69\x3d\x9a\x06\x98\xaf\xf9\x5c\x2f\xca\xb5\x87\x12\x46\x7e\xab\x40\x04\x58\x3e\xb8\xfb\x7f\x89\x55\xad\x34\x06\x09\xf4\xb3\x02\x83\xe4\x88\x83\x25\x71\x41\x5a\x08\x51\x25\xe8\xf7\xcd\xc9\x9f\xd9\x1d\xbd\xf2\x80\x37\x3c\x5b\xd8\x82\x3e\x31\x56\x34\x8f\x5b\xae\x6d\xac\xd4\x36\xc9\x19\xc6\xdd\x53\xe2\xb4\x87\xda\x03\xfd\x02\x39\x63\x06\xd2\x48\xcd\xa0\xe9\x9f\x33\x42\x0f\x57\x7e\xe8\xce\x54\xb6\x70\x80\xa8\x0d\x1e\xc6\x98\x21\xbc\xb6\xa8\x83\x93\x96\xf9\x65\x2b\x6f\xf7\x2a\x70";
#79054025255fb1a26e4bc422aef54eb4

还有一个呢就是

php strcmp()漏洞

在传入的参数类型不是字符串时,会报错,但是却判定相等!

当然此漏洞存在于老版本的php中

所以呢,此题的解法就是

payload
?v1[]=1&v2[]=2&v3[]=3

在这里插入图片描述在这里插入图片描述

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

Bugkuctf web 前女友 的相关文章

  • android FragmentPagerAdapter getItem方法没有执行

    在一个 Android 应用中 我使用 FragmentPagerAdapter 来处理多 Fragment 页面的横向滑动 不过我碰到了一个问题 即当 Fragment 对应的数据集发生改变时 我希望能够通过调用 mAdapter not
  • 【leetcode】shell四道题的专栏含讲解

    目录 前言 192 统计词频 中等 193 有效电话号码 简单 194 转置文件 中等 195 第十行 简单 前言 本栏目主要是科普shell的一些基本使用 但题目比较少 做的不够过瘾 官方只有四道题 专栏地址 leetcode shell
  • hyperledger Fabric node sdk 1.4 简明教程

    hyperledger fabric的node sdk最新版本为1 4 本文将介绍如何使用最新版本的fabric node sdk开发node js应用 以实现与fabric区块链的交互 例如查询链码状态 或者提交链码交易 本文分五个部分来
  • Python3 中 bytes 和 string 之间的互相转换

    因为这是原来不知道 Markdown 时写的文章 富文本编辑器不知道怎么用脚注 所以参考资料显得有些孤立了 见谅 Table of Contents 前言 创建 bytes 型数据 创建字符串 相互转换 string to bytes 按
  • idea 代码生成时序图

    当我们想要了解大佬的代码时 如何才能快速的了解一个方法的整个运行过程呢 uml图中的时序图可以帮助我们解决整个问题 idea中想要将代码生成时序图 需要添加一个插件 SequenceDiagram 第一步 我们可以从idea中直接下载添加
  • 2022.3版本idea创建JavaWeb项目

    创建一个简单的JavaWeb项目 最近一直在使用2022版本的idea 正好赶上学习JavaWeb 创建一个JavaWeb工程就比较头疼 主要是2022 3版本的idea和之前的版本不一样 网上也没有这个版本相关介绍 下面是我简单创建一个j
  • pom文件添加依赖,出现unknown问题【maven】,maven工程的依赖报错解决办法大全

    maven项目的依赖是开发的前提 笔者遇到过很多错误 一个一个坑的走过来 特此总结了以下几点解决办法 1 父工程的依赖版本与子工程的版本不一致 spring cloud项目 一般都是父项目中有多个子服务 也就是子module模块 如下图 问
  • 1.Flask配置文件

    1 配置文件 1 1 介绍 from flask import Flask app Flask name 打印默认的配置信息 print app config flask中的配置文件是一个flask config Config对象 继承di
  • FullCalendar – jQuery Event Calendar in ASP.NET

    https github com esausilva ASP Net EventCalendar http trentrichardson com examples timepicker https github com posabsolu
  • Qt qml Frameless

    Qt qml Frameless main qml demo main qml import QtQuick 2 10 import QtQuick Controls 2 3 import QtQuick Layouts 1 3 Appli
  • 解决git错误: error object file is empty , The remote end hung up unexpectedly

    今天执行git pull时遇到麻烦 应该是昨天电脑异常关机造成的git数据损坏 git pull error object file git objects 88 526655aa4eca14ead2d443e80082276a79e0c2
  • 抖音seo优化源码部署开发:1000+自媒体账号托管平台

    抖音矩阵系统源码开发部署基于PHP语言 结合视频剪辑基础框架逻辑 主要通过实现1 短视频批量剪辑 一键成片 2 1000 账号轻松管理 覆盖多平台 如 快手 哔哩哔哩 小红书等主流短视频平台 3 多账号多平台短视频一键分发 4 企业号7 2
  • vue使用高德地图aMap实现轨迹动画查询显示

    vue使用高德地图搜索地址添加标记marker 定位 拖拽选址功能https blog csdn net SmartJunTao article details 123955679 实现效果 需求 根据返回的经纬度 实现轨迹动画 以下示例可
  • centos环境下测试网速

    安装测试工具 pip install speedtest cli 进行测试 直接输入命令 root home speedtest cli Successfully installed speedtest cli 2 1 3 Retrievi
  • 手机视频聚合App影响 视频网站转型堪忧

    PConline 品科技 近日 国内首例手机视频聚合APP侵权案落定 搜狐视频诉芭乐影视侵权案一审胜诉 一部剧判赔1 4万元 业内人士分析 聚合类视频App抓住了用户一站式观影的需求 把分散于不同网站的资源整合起来 这对网络视频升级是一个大
  • Appium自动化测试

    1 Appium介绍 1 appium是开源的移动端自动化测试框架 2 appium可以测试原生的 混合的 以及移动端的web项目 3 appium可以测试ios android应用 当然了 还有firefoxos 4 appium是跨平台
  • 可能的错误

    1 target 可能没加载进去
  • 强化学习实践

    参考文献 1 莫烦Python 机械手臂从零开始 机器学习实战 强化学习 哔哩哔哩 bilibili
  • mybatis 支持主键自动生成

    如果你的数据库支持自动生成主键的字段 比如 MySQL 和 SQL Server 那么 你可以设置 useGeneratedKeys true 而且设置 keyProperty 到你已经做好的目标属性上 注解方式 Options useGe

随机推荐

  • 在vue中使用正则表达式与表单校验

    创建校验规则 在src目录下创建util Regexp js文件 添加需要的校验规则 description 验证手机号是否是有效手机号 param String telephone 需要验证的手机号码 returns Boolean se
  • 你了解c++中的关键字virtual吗?

    virtual在英文中表示 虚 虚拟 的含义 c 中的关键字 virtual 主要用在两个方面 虚函数与虚基类 下面将分别从这两个方面对virtual进行介绍 1 虚函数 虚函数源于c 中的类继承 是多态的一种 在c 中 一个基类的指针或者
  • 半路转行,如何学编程?这些建议给你

    有网友在网上提问 转行学编程还能成为技术大牛吗 收到诸多网友评论的同时 也被不少网友反问 1 成不了技术大牛 就不学编程了吗 2 学习是一辈子的事情 哪里来的半路出家 25岁学编程 35岁的时候你就是有10年编程经验的人 3 在互联网时代
  • FBX SDK环境配置

    参照这个https blog csdn net lilysara article details 53940353 注意事项1 选择lib文件夹的时候注意和电脑配置匹配 不匹配的话会报这个错误 配置成功后可以引入fbxsdk头文件 并调试运
  • 高手在交易中总结的期货

    知与行 常听说 做期货 知易行难 但我认为 当 知 的问题解决了 行 就不是问题 知 可以理解为盈利模式 有了盈利模式 严格执行 做到 知行合一 自然就可以做到长期持续盈利 因此 知易行难 常是认识的误区 当你发现 行难 时 其实是 知 的
  • 以太网 ARP

    在以太网中 一个主机和另一个主机进行通信 必须要知道目的主机的 MAC 地址 物理地址 而目的 MAC 地址的获取由 ARP 协议完成 ARP 概述 ARP Address Resolution Protocol 即地址解析协议 是根据 I
  • golang字符串首字母转化为大写

    字符串首字母转化为大写 字符串首字母转化为大写 ios bbbbbbbb gt iosBbbbbbbbb func strFirstToUpper str string string temp strings Split str var u
  • mysql模糊搜索 like_Mysql必知必会(3):模糊查询(LIKE)

    本文介绍什么是通配符 如何利用通配符进行数据库数据过滤查询 本文使用的数据表在本文最后附录 简介 之前几篇文章的所有例子查询的条件都是确定的值 比如大于20 或者用户ID为1 但是 有些时候我们需要查询一些不太确定的值 比如用户在输入框输入
  • 算法之回溯算法

    目录 前言 如何理解回溯算法 两种回溯算法的经典应用 1 0 1背包 2 正则表达式 总结 参考资料 前言 很多经典的数学问题都可以用回溯算法解决 比如数独 八皇后 0 1 背包 图的着色 旅行商问题 全排列等等 用来指导像深度优先收索这种
  • 40-400-044-运维-优化-MySQL order by 优化

    文章目录 1 概述 2 MySQL中的两种排序方式 3 ORDER BY优化的核心原则 4 ORDER BY优化实战 ORDER BY优化 WHERE ORDER BY 优化 Filesort优化 1 概述 本篇文章我们将了解ORDER B
  • 【BUG

    问题 运行Inpaint Anything时 pycharm中的conda环境下的tensorflow问题 2023 04 19 10 53 30 485189 I tensorflow core platform cpu feature
  • [非卷积5D] NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis

    不使用3D建模 使用静态图片进行训练 用 非卷积 深度网络表示场景的5D连续体表示 再通过ray marching进行渲染 paper NeRF Representing Scenes as Neural Radiance Fields f
  • idea数据库表生成实体类

    先说一下实现的功能 根据数据库 生成实体类 生成的实体类的格式可参看下图 生成的实体类中加入的注解有 Table注解 无getset方法 加入了lombok的 DATA Slf4j注解 支持 ID注解 当字段名为id时 如果数据库表中字段通
  • java比较string是否相同

    比较引用 equals 比较值 1 java中字符串的比较 我们经常习惯性的写上if str1 str2 这种写法在java中可能会带来问题 example1 String a abc String b abc 那么a b将返回true 因
  • 弹性盒子(flex布局)

    传统布局 兼容性好 布局繁琐 局限性 不能再移动端很好的布局 flex弹性布局 操作方便 布局极为简单 移动端应用广泛 PC端浏览器支持情况较差 布局原理 flex意为 弹性布局 用来为盒状模型提供最大的灵活性 任何一个容器都可以指定为fl
  • .net core 整洁架构入门

    Clean Architecture with NET Core Getting Started 使用 NET Core整洁架构 Clean Architecture 入门 Over the past two years I ve trav
  • 融合黄金正弦,十种混沌映射,搞定!把把最优值,本文思路可用于所有智能算法的改进...

    上一期的2023年最新优化算法之减法优化器算法 SABO 效果已经相当不错了 而且由于其十分简单的公式原理 更适用于刚接触智能优化算法的小伙伴 今天这篇文章为大家带来 融合黄金正弦的减法优化器 GSABO 本文会讲解一下改进思路 为各位小伙
  • 流程型和离散型制造行业mes系统的区别

    流程型和离散型制造行业mes系统的区别 在制造信息化的时代背景之下 MES系统 被越来越多的企业重视 虽然MES系统在制造行业中有着巨大的价值 但是不同的企业对MES系统的需求也存在很大的差异性 比较突出的就是流程型和离散型这两个方面 那么
  • 修改linux命令行终端的显示区行数列数

    stty rows 50 columns 200
  • Bugkuctf web 前女友

    老规矩 有新东西就记上一记 题目链接 这个有点儿意思 打开源码 好了 代码意思比较简单 重点看圈住的代码就好 满足v1v2的值不等但是md5相等 且v3 flag才行 好了 新知识来了 首先是md5 函数漏洞 第一种 GET a GET b