备份是个好习惯WEB 未解决

分数: 20 金币: 2
题目作者: harry
一  血: dotast
一血奖励: 1金币
解  决: 15165
提  示:
描  述:
备份是个好习惯
评论
丶我亚索贼六 5年前

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

回复 3
pil10w 5年前

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

回复 2

xiaohua 5年前

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

回复 0

nu0l 5年前

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

回复 0

jeremytt 5年前

bak文件是备份文件

回复 2

wawahu 5年前

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

回复 2

155会飞 5年前

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

回复 0

莱茵哈鲁特 5年前

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

回复 5
Csc8 5年前

得更新字典

回复 0

小猪是小猪 5年前

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

回复 0

爸爸打我 5年前

dirsearch扫

回复 2

kali 5年前

用dirmap扫把

回复 0

北辰 5年前

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

回复 0

r00ter 5年前

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

回复 0

凉城 5年前

?kekeyy1=QNKCDZO&kekeyy2=240610708

回复 8
烟花不易冷 5年前

@ydaxh 懂了,谢谢大佬!

回复 0

ydaxh 5年前

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

回复 1

烟花不易冷 5年前

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

回复 0

ccai 5年前

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

回复 4

Bel0s 5年前

???

回复 0

xiangzi 5年前

备份文件在哪里?扫描不到

回复 0
3448576920 5年前

/index.php.bak

回复 0

WriteUp

image
harry

2 金币

评分(20)

解题动态

huangrt 攻破了该题 47分钟前
shooter6567 攻破了该题 2小时前
sharktoutou 攻破了该题 5小时前
twn123 攻破了该题 8小时前
BY 攻破了该题 18小时前
The Weeknd 攻破了该题 18小时前
BugKing** 攻破了该题 19小时前
sheepfly 攻破了该题 19小时前
1000086 攻破了该题 20小时前
许念安 攻破了该题 21小时前
申公豹 攻破了该题 21小时前
TvTI 攻破了该题 21小时前
ly9henxihuan 攻破了该题 21小时前
yyyyyc 攻破了该题 22小时前
CQchen 攻破了该题 23小时前
lzmiku 攻破了该题 1天前
taiqiangle 攻破了该题 1天前
Wile73 攻破了该题 1天前
hahaxiao 攻破了该题 1天前
长安不起风 攻破了该题 1天前
问题反馈