群里有人问这个题, 因为没接触过CTF
Fuzz了十分种,就没招了 只能推荐Md5碰撞
解出来后 才发现大家都是这种解法啊!
前言
前几天第二届强网杯看到这样子的一道题目
if($_POST['param1']!==$_POST['param2'] && md5($_POST['param1'])===md5($_POST['param2'])){
die("success!");
}
两次的比较均用了严格的比较,无法通过弱类型的比较去绕过(弱类型的总结可以看这里 织梦前台任意用户密码修改漏洞分析 ),
那么我们有没有可能在短时间内构造两个不一样的字符串,但是MD5是一样的呢。
答案是肯定的。 埃因霍温理工大学(Technische Universiteit Eindhoven)的Marc Stevens
使用的是“构造前缀碰撞法”(chosen-prefix collisions)来进行哈希碰撞。
理论依据依旧是王小云所使用的攻击方法。不过有所改进 。他们碰撞出来两个程序文件的MD5一致,
却又都能正常运行,并且可以做完全不同的事情。
随后他们编写的快速MD5 碰撞生成器
点击收藏 | 1
关注 | 3