备份是个好习惯WEB 未解决

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

flag{***}

回复 0

eric82 27天前

在 PHP 里,==比较 MD5 值时存在漏洞,当 MD5 值以 0e开头时,PHP 会把它当作科学计数法来处理,所有以 0e开头的 MD5 值在比较时都会被认为相等。 下面这些字符串的 MD5 值以 0e开头: QNKCDZO 240610708 s878926199a s155964671a

回复 3

Pixelw 1月前

curl "http://117.72.52.127:12982/index.php?kekeyy1=QNKCDZO&kekeyy2=240610708"

回复 0

nihaozy 1月前

为啥我扫不出来,dirsearch,gobuster,dirb,御剑都用了逆天了

回复 0
eleveni386 9天前

@hannawfl dirb默认的common.txt里面没有index.php.bak。

回复 1

hannawfl 1月前

我dirb没扫出来,御剑扫出来了。

回复 0

小T 1月前

1. 扫描目录发现备份文件 index.bak 2. 下载并且分析源码 3. 使用双写绕过str_replace, 传递数组让md5报错绕过md5判断 最终payload: index.php?kekeyy1[]=1&kekeyy2[]=

回复 3
admin43r4r 1月前

还有MD5比较,因为是弱类型比较,只要用MD5碰撞或者数组的MD5为NULL就可以绕过

回复 0

HK1ng 1月前

dirsearch扫描一下,然后发现了flag.php和index.php.bak。访问备份文件,下载的源码,基本上就是代码审计了,然后这里就直接看到弱类型md5碰撞了,没发现还有一个key的替换,所以这里上传kkeyey1,被替换后就是key1,这样才能正确传参。

回复 0

zhwen 1月前

通过访问index.php.bak获取备份文件的源码,审计代码,发现需传递参数key1和key2,但key 在代码中会被替换为空的,然而代码中只替换一次,这样kekeyy或者kkeyey都可以进行绕过,继续往下看依然是弱类型比较(科学计数法)。http://117.72.52.127:12420/index.php/?kkeyey1=QNKCDZO&kkeyey2=240610708

回复 0

lyy000 2月前

为什么构造语句是kkeyey

回复 1
ys317 1月前

因为需要去除key后还是key,当然你也可以写kekeyy

回复 0

满天海晨星 2月前

用kali dirsearch,wget,cat之后看到原代码, 是判断:key1和key2的md5值一样而且key1和key2不一样。即可输出flag 如何才能使key1和key2的值不一样而且md5值一样就可以了。 这样写就可以满足这个判断条件了呢?哪位大佬给解释一下?

回复 0
KarlOtto 2月前

QNKCDZO 240610708 s878926199a s155964671a s214587387a这几个md5加密后都是0e开头,弱类型比较是相等的

回复 2

Status404 2月前

这个解答很清晰,https://www.cnblogs.com/0yst3r-2046/p/10748459.html

回复 3

WriteUp

image
harry

2 金币

评分(10)

解题动态

AbAA 攻破了该题 7小时前
voidVII 攻破了该题 9小时前
comkk 攻破了该题 16小时前
AmadeusV 攻破了该题 20小时前
3024769318 攻破了该题 1天前
zhgp1234 攻破了该题 1天前
qqwz 攻破了该题 1天前
13144492645 攻破了该题 1天前
18337390562 攻破了该题 1天前
2023201597 攻破了该题 1天前
2023201304 攻破了该题 1天前
19207785062 攻破了该题 1天前
wyfgg 攻破了该题 1天前
skncqe 攻破了该题 2天前
topseten 攻破了该题 2天前
ETERNALBLUE 攻破了该题 2天前
nakanodarling 攻破了该题 2天前
end813912 攻破了该题 2天前
Moth8899 攻破了该题 2天前
无法释怀的遗憾 攻破了该题 2天前
问题反馈