备份是个好习惯WEB 未解决

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

flag{***}

回复 0

eric82 21天前

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

回复 3

Pixelw 24天前

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

回复 0

nihaozy 1月前

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

回复 0
eleveni386 3天前

@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 26天前

还有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 1月前

为什么构造语句是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)

解题动态

feibinger 攻破了该题 10小时前
laodong 攻破了该题 14小时前
shunsong 攻破了该题 16小时前
AD钙 攻破了该题 16小时前
可口可乐 攻破了该题 16小时前
13551227821 攻破了该题 20小时前
3291650347 攻破了该题 22小时前
烛火 攻破了该题 1天前
15678097682 攻破了该题 1天前
whoami443 攻破了该题 1天前
Aiboo 攻破了该题 1天前
凌日漏洞 攻破了该题 1天前
molihuihui 攻破了该题 1天前
flagOrz 攻破了该题 1天前
Fishking6027 攻破了该题 1天前
脚本小子@ 攻破了该题 1天前
silkylatte 攻破了该题 1天前
yutou 攻破了该题 1天前
VPtvLmtM 攻破了该题 1天前
黄锦hjh 攻破了该题 1天前
问题反馈