PHP MD5强碰撞
2022/1/2 17:37:12
本文主要是介绍PHP MD5强碰撞,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
MD5强碰撞
搬得这个师傅的 https://www.cnblogs.com/kuaile1314/p/11968108.html
可以看到,使用了三个等号,这个时候PHP会先检查两边的变量类型,如果不相等直接返回False。
数组
param1: aaa[] param2: bbb[] param1[]=111¶m2[]=222
这个时候md5读入两个数组的时候,因为无法解析数组内容,都会读入一个常量字符串“array”,故两个参数md5相同。
科学计数法
0e开头的数字会被解析成科学计数法。
1e12 ---> 1 * 10^12
0e开头的意思自然就都会解析成0。
我们只需要找两个字符串,让其md5后开头两个字母是0e即可,如有需要,这两个字符串本身也可以是0e开头。
param1=QNKCDZO¶m2=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强碰撞的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-03-29env: php: no such file or directory
- 2024-03-01php foreach break
- 2024-02-26Exception参数 php-icode9专业技术文章分享
- 2023-12-30PHP文件批量上传-icode9专业技术文章分享
- 2023-12-30thinkphp6 withJoin-icode9专业技术文章分享
- 2023-12-27MagicArray:像php一样,让Go业务代码不再卷!
- 2023-11-18centos7编译安装PHP教程。
- 2023-11-18centos7编译安装phpMyAdmin教程。
- 2023-10-13唱衰这么多年,PHP 仍然还是你大爷!
- 2023-07-25PHP8,性能更好,语法更好,类型安全更完善