php使用==判断字符串是否相等时是有缺陷的,这篇文章有讲到 https://blog.csdn.net/yangquanaoyun/article/details/93633980
kali下载dirsearch
根据规则 md5绕过数组,或者==判断机制
这题得到日志文件后有两种解法,一种是MD5函数不处理数组,还有就是利用“==”对MD5的判断机制来解,如果一次不行,可以在用另外的办法,另外感谢大佬提供的灵感
@烟花不易冷 /?kekeyy1[]=1&kekeyy2[]=2
@烟花不易冷 如果key1经过MD5加密后等于KEY2经过MD5加密并且KEY1不等于KEY2则为真
请问一下,大佬知道刚打开环境那一段字符什么意思嘛,虽然flag拿到了,但是不懂那串字符的意思
感谢大佬指点
@烟花不易冷 key1的值和key2的MD5值相等,但他们本身并不相等,这里并不是要你大海捞针找个两个数,这题是若比较,去了解下知识,说不定有帮助
@烟花不易冷 这不就是,key1不等于key2,但她两的Md5要相等吗
求教大佬,扫到备份文件后怎样理解if(md5($key1) == md5($key2) && $key1 !== $key2)这个语句?
重在知道md5碰撞和md5()函数不处理数组
等我有钱了一定换个线程撕裂者来扫描,扫了40分钟才出来
?kkeyey=&kkeyey2= 为啥我这个也能出来?
这种方式成功的原因为:key1不存在为null,key2存在为字符”0“,这两者的MD5相同,但原值比较用的是严格比较,所以key1和key2不相等。
因为替换一次key,中间的key替换null外部也是key就行
if(md5($key1) == md5($key2) && $key1 !== $key2)
bak文件是备份文件
1、str_replace('key','',$str)可以通过构造成kkeyey绕过; 2、md5函数是不能获取到数组的值,会处理成0,通过数组进行绕过。
先扫描获得文件Index.php.bak
御剑扫描【我没扫出来,靠了评论区大神得知/index.php.bak】,打开后发现是md5加密,要使md5加密key1==key2,同时保证原key1!=key2,想到md5无法处理数组,使用?kekeyy1[]=1&kekeyy2[]=2,使NULL=NULL,得到flag。
得更新字典
为什么不是?kekey1=[1]&kekey2=[2]
dirsearch扫
用dirmap扫把
...
评论
1595010699 3年前
举报
php使用==判断字符串是否相等时是有缺陷的,这篇文章有讲到 https://blog.csdn.net/yangquanaoyun/article/details/93633980
pipiipip 3年前
举报
kali下载dirsearch
1187510814 3年前
举报
根据规则 md5绕过数组,或者==判断机制
XiaoHexi 3年前
举报
这题得到日志文件后有两种解法,一种是MD5函数不处理数组,还有就是利用“==”对MD5的判断机制来解,如果一次不行,可以在用另外的办法,另外感谢大佬提供的灵感
西瓜西瓜 3年前
举报
@烟花不易冷 /?kekeyy1[]=1&kekeyy2[]=2
南忘 3年前
举报
@烟花不易冷 如果key1经过MD5加密后等于KEY2经过MD5加密并且KEY1不等于KEY2则为真
BreakALC 3年前
举报
请问一下,大佬知道刚打开环境那一段字符什么意思嘛,虽然flag拿到了,但是不懂那串字符的意思
BreakALC 3年前
举报
感谢大佬指点
kjdfklha 3年前
举报
@烟花不易冷 key1的值和key2的MD5值相等,但他们本身并不相等,这里并不是要你大海捞针找个两个数,这题是若比较,去了解下知识,说不定有帮助
evens 3年前
举报
@烟花不易冷 这不就是,key1不等于key2,但她两的Md5要相等吗
烟花不易冷 3年前
举报
求教大佬,扫到备份文件后怎样理解if(md5($key1) == md5($key2) && $key1 !== $key2)这个语句?
Yn8rt 3年前
举报
重在知道md5碰撞和md5()函数不处理数组
全部曹飞 3年前
举报
等我有钱了一定换个线程撕裂者来扫描,扫了40分钟才出来
丶我亚索贼六 3年前
举报
?kkeyey=&kkeyey2= 为啥我这个也能出来?
pil10w 3年前
举报
这种方式成功的原因为:key1不存在为null,key2存在为字符”0“,这两者的MD5相同,但原值比较用的是严格比较,所以key1和key2不相等。
xiaohua 3年前
举报
因为替换一次key,中间的key替换null外部也是key就行
nu0l 3年前
举报
if(md5($key1) == md5($key2) && $key1 !== $key2)
jeremytt 3年前
举报
bak文件是备份文件
wawahu 3年前
举报
1、str_replace('key','',$str)可以通过构造成kkeyey绕过; 2、md5函数是不能获取到数组的值,会处理成0,通过数组进行绕过。
155会飞 3年前
举报
先扫描获得文件Index.php.bak
莱茵哈鲁特 3年前
举报
御剑扫描【我没扫出来,靠了评论区大神得知/index.php.bak】,打开后发现是md5加密,要使md5加密key1==key2,同时保证原key1!=key2,想到md5无法处理数组,使用?kekeyy1[]=1&kekeyy2[]=2,使NULL=NULL,得到flag。
Csc8 3年前
举报
得更新字典
小猪是小猪 3年前
举报
为什么不是?kekey1=[1]&kekey2=[2]
爸爸打我 3年前
举报
dirsearch扫
kali 3年前
举报
用dirmap扫把