当前位置: 代码迷 >> 综合 >> web——md5 collision(NUPT_CTF)(100)——Bugku
  详细解决方案

web——md5 collision(NUPT_CTF)(100)——Bugku

热度:96   发布时间:2024-02-08 21:55:37.0

0×00 靶场链接

http://123.206.87.240:9009/md5.php

 
0×01 题目描述

 

 

0×02 解题过程

题目名为md5碰撞,然后页面提示为输入a

不对???

想到之前输入的?id=1之类的难道是要赋值

可能值不太对吧

那就想想MD5碰撞

MD5碰撞

PHP在处理哈希字符串时,会利用”!=”或”==”来对哈希值进行比较,它把每一个以”0E”开头的哈希值都解释为0,所以如果两个不同的密码经过哈希以后,其哈希值都是以”0E”开头的,那么PHP将会认为他们相同,都是0。

攻击者可以利用这一漏洞,通过输入一个经过哈希后以”0E”开头的字符串,即会被PHP解释为0,如果数据库中存在这种哈希值以”0E”开头的密码的话,他就可以以这个用户的身份登录进去,尽管并没有真正的密码。

所以就令a=一个哈希后以”0E“开头的字符串即可

QNKCDZO

0e830400451993494058024219903391

s878926199a

0e545993274517709034328855841020

s155964671a

0e342768416822451524974117254469

s214587387a

0e848240448830537924465865611904

s214587387a

0e848240448830537924465865611904

s878926199a

0e545993274517709034328855841020

s1091221200a

0e940624217856561557816327384675

s1885207154a

0e509367213418206700842008763514

随便试一下就出来了