1、解题思路

开局根据页面提示查看源代码分析
整体快速通读一遍然后定位到flag,在层层往上推发现,需要满足md5(id) === md5(gg) && id !== gg还有passwd不能是纯数字而且值是弱等于123456的
第一个id和ggmd5后强相等,那我们就有俩种思路了,一种是哈希碰撞还有一种就是利用php的md5的特性来进行绕过,我们这里采用的是第二种,然后passwd由于是弱相等所以就很简单了直接1234567后面随便加个字母就可以得到flag了

2、涉及关键知识点总结
1、 PHP 中md5()函数处理数组的特性漏洞就是 md5()处理数组时返回NULL
2、强相等弱相等:
| 比较符号 | 名称 | 校验规则 | 核心特点 |
|---|---|---|---|
== |
弱等于 | 只校验「值是否相等」,不校验「数据类型」 | 会自动转换两边数据类型后比较 |
=== |
强等于 | 同时校验「值相等」+「数据类型完全一致」 | 不转换类型,直接严格对比 |