web27
题目提示是md5 collision(MD5碰撞),分享一些常用的MD5碰撞
字母数字混合类(MD5值):
s878926199a
0e545993274517709034328855841020
s155964671a
0e342768416822451524974117254469
s214587387a
0e848240448830537924465865611904
s214587387a
0e848240448830537924465865611904
大写字母类:
QLTHNDT
0e405967825401955372549139051580
QNKCDZO
0e830400451993494058024219903391
EEIZDOI
0e782601363539291779881938479162
纯数字类:
240610708
0e462097431906509019562988736854
原理:
PHP在处理哈希字符串时,
会利用”!=”或”==”来对哈希值进行比较,它把每一个以”0E”开头的哈希值都解释为0,所以如果两个不同的密码经过哈希以后,其哈希值都是以”0E”开头的,那么PHP将会认为他们相同,都是0。
"=“和”!“即strict比较符,只有在类型相同时才相等。”==“和”!="即non-strict比较符,会在类型转换后进行比较。
此外0 == 字符会被认为是正确的,可以绕过验证
文章摘自
https://www.cnblogs.com/echoDetected/p/12309225.html
所以构建payload
http://114.67.246.176:12088/?a=s878926199a
得到flag
注:萌新第一次写write up,不足之处还请见谅,不对之处欢迎批评指正