MD5强碰撞

搬得这个师傅的 https://www.cnblogs.com/kuaile1314/p/11968108.html

可以看到,使用了三个等号,这个时候PHP会先检查两边的变量类型,如果不相等直接返回False。

数组

param1: aaa[]
param2: bbb[]
param1[]=111&param2[]=222

这个时候md5读入两个数组的时候,因为无法解析数组内容,都会读入一个常量字符串“array”,故两个参数md5相同。

科学计数法

0e开头的数字会被解析成科学计数法。

1e12 ---> 1 * 10^12

0e开头的意思自然就都会解析成0。

我们只需要找两个字符串,让其md5后开头两个字母是0e即可,如有需要,这两个字符串本身也可以是0e开头。

param1=QNKCDZO&param2=aabg7XSs

真实碰撞

就是开头题目上的,将post进去的参数转为string类型,没有办法再用数组和科学计数法的方法,所以只能使用真实的碰撞。

a=M%C9h%FF%0E%E3%5C%20%95r%D4w%7Br%15%87%D3o%A7%B2%1B%DCV%B7J%3D%C0x%3E%7B%95%18%AF%BF%A2%00%A8%28K%F3n%8EKU%B3_Bu%93%D8Igm%A0%D1U%5D%83%60%FB_%07%FE%A2&b=M%C9h%FF%0E%E3%5C%20%95r%D4w%7Br%15%87%D3o%A7%B2%1B%DCV%B7J%3D%C0x%3E%7B%95%18%AF%BF%A2%02%A8%28K%F3n%8EKU%B3_Bu%93%D8Igm%A0%D1%D5%5D%83%60%FB_%07%FE%A2

因为存在不可见字符,没办法复制到url,所以采用url编码。这两个字符串只在末尾的地方有一点点差别,最后算出来的md5值是相同的,即真实碰撞。研究了半天不太清楚咋来的,姑且先记着。

PHP MD5强碰撞的更多相关文章

  1. MD5强碰撞

    关卡一         md5弱比较,为0e开头的会被识别为科学记数法,结果均为0 payload param1=QNKCDZO&param2=aabg7XSs 关卡二         md5 ...

  2. Hash问题----Hash强碰撞

    包含内容:hellowword,byeworld文件md5,pdf1,2的sha1值. 等待笔记...

  3. Bugku 代码审计

    0x01.extract变量覆盖 代码: <?php$flag='xxx';extract($_GET);if(isset($shiyan)){$content=trim(file_get_co ...

  4. buuctfweb刷题wp详解及知识整理----[安洵杯 2019]easy_web

    尝试之路加wp 观察源代码和get所传参数可猜测img所传参数img就是该图片经过两次base64编码和一次hex编码后可得555.png成果验证猜测 然后发现该图片以data元数据封装的方式放到了源 ...

  5. buuoj刷题 October

    2019 极客大挑战 web easysql 直接万能密码登就完事了 LoveSQL 万能密码登进去,给了md5,没解出来 手注吧,都要忘了手注怎么注了 猜字段数 3的时候正常不报错 看回显位,2,3 ...

  6. MD5 SHA1 哈希 签名 碰撞 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  7. MD5 密码破解 碰撞 网站

    MD5反向查询网站 http://www.cmd5.com/ 文件MD5值查询网站 http://www.atool.org/file_hash.php 个人对密码破解的理解 1.使用MD5对密码加密 ...

  8. MD5碰撞和MD5值(哈希值)相等

    md5的碰撞 0e开头的md5和原值: s878926199a 0e545993274517709034328855841020 s155964671a 0e342768416822451524974 ...

  9. MD5 Message Digest Algorithm MD5(中文名为消息摘要算法第五版)

    MD5 编辑 Message Digest Algorithm MD5(中文名为消息摘要算法第五版)为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护.该算法的文件号为RFC 1321( ...

  10. 基本的java加密算法MD5等等

    简单的java加密算法有: BASE64       严格地说,属于编码格式,而非加密算法 MD5             (Message Digest algorithm 5,信息摘要算法) SH ...

随机推荐

  1. ubuntu更换国内镜像源备忘

    源的路径: /etc/apt/sources.list 更换前备份一下: sudo cp /etc/apt/sources.list /etc/apt/sources_init.list 打开文档,修 ...

  2. 题解:洛谷P11557 [ROIR 2016 Day 2] 有趣数字

    题目传送门. 考虑数位 dp,也就是记忆化搜索,设置一个搜索函数 \(dfs\),有三个参数,一个是当前位数,表示搜到哪一位了,一个是从第一位到上一个位数是否全部顶上界,从第一位到上一位全部顶上界的意 ...

  3. 别再混淆了!JVM内存模型和Java内存模型的本质区别

    JVM 内存模型(JVM Memory Model)和 Java 内存模型(Java Memory Model, JMM)是 Java 开发中两个非常重要的概念,但这两个概念很容易被搞混,所以本文就来 ...

  4. PyCharm一直indexing,且永不停止。

  5. FastAPI复杂查询终极指南:告别if-else的现代化过滤架构

    title: FastAPI复杂查询终极指南:告别if-else的现代化过滤架构 date: 2025/3/14 updated: 2025/3/14 author: cmdragon excerpt ...

  6. OSPF协议报文

    OSPF(Open Shortest Path First,开放最短路径优先)是一种内部网关协议(Interior Gateway Protocol,IGP),用于在同一个自治系统(Autonomou ...

  7. 告别手动敲代码!VSCODE 风格在线可视化开发平台,效率飙升!

    2025 年 2 月 21 日消息,对于广大开发者而言,今天迎来一则重大利好消息!一款操作布局与 VSCODE 极为相似的可视化开发神器 --Joker 智能可视化开发平台正式上线.无论你是深耕前端领 ...

  8. BUUCTF---signin

    题目 welcome to crypto world!! 密文:424a447b57653163306d655f74345f424a444354467d 解题 啥也没有只有一段密文,只能从密文下手了, ...

  9. Docker中的Gitlab数据迁移

    一.选择版本 GitLab 12.2或更高版本:   docker exec -t gitlab-backup create GitLab 12.1和更早版本:   gitlab-rake gitla ...

  10. DevOps的工作岗位的要求

    ## 为什么需要DevOps 不是每个人都能理解可靠的版本管理和牢固的构建系统的重要性. 也不是任何人能使得软件的发布达到可靠性,可重复性和可审计的高标准.Devops的职责就是将软件的构建和发布的流 ...