备份是个好习惯WEB 未解决

分数: 20 金币: 2
题目作者: harry
一  血: dotast
一血奖励: 1金币
解  决: 10277
提  示:
描  述:
备份是个好习惯
评论
Yn8rt 4年前

重在知道md5碰撞和md5()函数不处理数组

回复 1

全部曹飞 4年前

等我有钱了一定换个线程撕裂者来扫描,扫了40分钟才出来

回复 2

丶我亚索贼六 4年前

?kkeyey=&kkeyey2= 为啥我这个也能出来?

回复 3
pil10w 3年前

这种方式成功的原因为:key1不存在为null,key2存在为字符”0“,这两者的MD5相同,但原值比较用的是严格比较,所以key1和key2不相等。

回复 2

xiaohua 4年前

因为替换一次key,中间的key替换null外部也是key就行

回复 0

nu0l 4年前

if(md5($key1) == md5($key2) && $key1 !== $key2)

回复 0

jeremytt 4年前

bak文件是备份文件

回复 2

wawahu 4年前

1、str_replace('key','',$str)可以通过构造成kkeyey绕过; 2、md5函数是不能获取到数组的值,会处理成0,通过数组进行绕过。

回复 2

155会飞 4年前

先扫描获得文件Index.php.bak

回复 0

莱茵哈鲁特 4年前

御剑扫描【我没扫出来,靠了评论区大神得知/index.php.bak】,打开后发现是md5加密,要使md5加密key1==key2,同时保证原key1!=key2,想到md5无法处理数组,使用?kekeyy1[]=1&kekeyy2[]=2,使NULL=NULL,得到flag。

回复 5
Csc8 4年前

得更新字典

回复 0

小猪是小猪 4年前

为什么不是?kekey1=[1]&kekey2=[2]

回复 0

爸爸打我 4年前

dirsearch扫

回复 0

kali 4年前

用dirmap扫把

回复 0

北辰 4年前

如果要找到备份,php的备份格式是*.php~和*.php.bak,所以需要找到这2个格式的文件,可以在URL后缀进行尝试也可以使用工具进行扫描,使用御剑扫描到存在index.php.bak文件,然后下载文件后使用记事本打开会得到代码,然后使用kekeyy进行绕过md5的加密,因为md5()函数是无法处理数组的。

回复 0

r00ter 4年前

看备份文件,用?kekeyy1[]=[1]&kekeyy2[]=[2]绕过

回复 0

凉城 4年前

?kekeyy1=QNKCDZO&kekeyy2=240610708

回复 8
烟花不易冷 4年前

@ydaxh 懂了,谢谢大佬!

回复 0

ydaxh 4年前

@烟花不易冷 加密的key1等于加密的key2并且不加密的key不等于key2。

回复 1

烟花不易冷 4年前

求教大佬,扫到备份文件后怎样理解if(md5($key1) == md5($key2) && $key1 !== $key2)这个语句?

回复 0

ccai 4年前

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

回复 4

WriteUp

image
harry

2 金币

评分(11)

解题动态

bugkuxuzou 攻破了该题 2小时前
asdfpppp 攻破了该题 3小时前
658658xzlz 攻破了该题 3小时前
satuo 攻破了该题 4小时前
123kk 攻破了该题 4小时前
wangheng 攻破了该题 13小时前
GGGZX 攻破了该题 15小时前
yzs15202361526 攻破了该题 16小时前
小果d1ng 攻破了该题 18小时前
妈!有人打我 攻破了该题 21小时前
mhtmhtmht 攻破了该题 22小时前
Hehe0619 攻破了该题 23小时前
嗨客111 攻破了该题 1天前
envykafu 攻破了该题 1天前
Amilan 攻破了该题 1天前
tsoor 攻破了该题 1天前
你不懂的吧 攻破了该题 1天前
13551372126 攻破了该题 1天前
ljh123321 攻破了该题 1天前
李嘉欣a 攻破了该题 1天前
问题反馈