AI智能摘要
被前女友发来的神秘链接搅乱心绪?这道CTF题目暗藏玄机。通过巧妙利用PHP的MD5函数漏洞和strcmp特性,只需构造特殊参数就能破解谜题。本文将带你一步步拆解代码逻辑,揭开绕过验证的终极技巧,让你在网络安全实战中再添利器。
— AI 生成的文章内容摘要
进入后发现首页是一段很伤感的话,做个题都这么伤感,哎。。。。

查看网页源代码,发现code.txt,访问查看,发现是个审计题,代码分析如下:
<?php if(isset($_GET['v1']) && isset($_GET['v2']) && isset($_GET['v3'])){ $v1 = $_GET['v1']; $v2 = $_GET['v2']; $v3 = $_GET['v3']; if($v1 != $v2 && md5($v1) == md5($v2)){ //md5不能用来算数组,这里用数组绕过,v1和v2的值不能一样 if(!strcmp($v3, $flag)){ //strcmp函数的作用是比较两个值是否相等,如果相等返回0,而if是里面的!是非,非0则TURE echo $flag; } } } ?>
于是构造payload:http://123.206.31.85:49162/?v1[]=a&v2[]=b&v3[]=c
得到flag。。。


韩国 1F
这题用数组绕过有点意思
日本 B1
@ 暗影低喃 数组确实能绕过md5比较
浙江省 2F
v3传数组不会报错吗,弱类型真敢来
安徽省芜湖市 3F
之前搞代码审计也被这招阴过,记忆犹新
韩国 4F
PHP是世界上最好的语言,怎么听着像遗言
湖南省长沙市 5F
v3怎么构造啊,没看懂
越南 6F
md5碰撞还能这么玩
湖南省郴州市 7F
感觉代码审计挺简单的
中国 B1
@ 纸风车追逐者 有些细节不踩坑真不知道,比如strcmp处理数组的漏洞
北京市 8F
之前也遇到过类似题目
江西省九江市 9F
flag在哪显示?
韩国 10F
PHP是最好的语言hhh
广东省佛山市顺德区 11F
为啥v1和v2不能一样?
山西省大同市 12F
这样绕过真的可以吗
中国 B1
@ 蛋黄派间谍 md5对数组返回NULL,两个都NULL就相等了,确实能过
澳大利亚 13F
直接复制payload就出了
韩国 14F
这题搞得我心情有点复杂,跟前任有关就算了,还得动脑子😂
广东省广州市 15F
数组绕过确实是常规操作,但结合情感文案就离谱
北京市 B1
@ 嘎嘎嘎 情感文案加代码题太会玩了
云南省 16F
v1和v2值不一样但md5相等,只能用数组试试了
上海市 17F
strcmp比较flag,传数组直接报错吧?
江苏省无锡市 18F
PHP这语言特性坑不少,一不小心就绕过去了
日本 19F
我上次做类似题卡了半小时,结果也是数组问题
中国 20F
flag应该直接echo出来了,看响应就行
江西省赣州市 21F
v3传数组会警告吧,但可能不影响执行?
内蒙古呼和浩特市 B1
@ 淡若晨风 警告归警告,执行还是能过的
韩国 22F
那个“PHP是世界上最好的语言”是梗还是提示啊
韩国 23F
这题设计得还挺有情绪共鸣的,一边伤心一边debug
韩国 24F
v3传空数组就能过吧?
黑龙江省哈尔滨市 25F
这题设计得让人又爱又恨😂
菲律宾 26F
为啥用数组md5就相等了?
上海市 27F
flag直接显示在页面上了
福建省福州市台江区 28F
看到PHP最好语言直接笑出声
福建省福州市 29F
数组绕过老套路了
吉林省长春市 30F
payload复制粘贴就能出?
江西省吉安市 31F
之前被strcmp坑过好几次
上海市 32F
伤感文案配代码审计有点东西
印度 33F
v1[]=a这种传法不会报错吗?
上海市 34F
这题文案写得我真代入了,结果一查源码破防了
河北省唐山市 35F
v1[]=a&v2[]=b确实能绕,但v3传数组会不会直接崩啊?
河北省廊坊市 36F
PHP最好语言这句话一出我就知道要被坑了😂
浙江省宁波市 37F
md5数组绕过这招实用,记小本本上了。
美国 B1
@ TuftTilter 数组绕过是CTF里挺经典的思路。
日本 38F
之前做CTF也被strcmp坑过,传数组直接跳过比较
浙江省嘉兴市 39F
flag是直接echo出来的?那得看网页源码还是network?
菲律宾 40F
伤感故事配代码审计,出题人是不是刚分手hhh
江苏省常州市 41F
md5($v1)==md5($v2)用数组等于俩都null,所以相等?