AI智能摘要
对方扔来一段神秘PHP代码,看似乱码实则暗藏玄机。通过巧妙利用`extract`变量覆盖和`file_get_contents`的读取漏洞,配合GET参数构造,竟可一步步绕过判断、触发隐藏逻辑。当`$a=111`提交成功,`$b`指向关键文件,最终空白`$c`成为突破口——flag瞬间揭晓。这不仅是代码审计实战,更是一场与出题者的高能博弈。
— AI 生成的文章内容摘要
打开页面发现是一个图片,图片当中有一段代码~~~

仔细分析一下,分析如下:
函数Extract:将数组中的键名设置位变量名,键值为变量中的参数,例如有一个数组$a = arry(“a”=>”111”,”b”=>”222”);
那么经过extract函数处理后如下:
Extract($a);
输出的结果就是:$a=”111”,$b=”222”
再看下面的代码
If判断,$a的值,发现整个代码中没有出现$a,所以我们可以get提交一个a=111,这个时候就有$a了,并且$a=111 ,再继续,就可以进入到if语句中了,又遇到了一个$c=trim(file_get_comtents($b)),分析如下:
其中file_get_contemts($b)就是吧$b的值给读取到里面了,然后再用trim函数处理,trim函数的用法是删除特殊字符,如空格,然后trim后面什么都没有指定,所以导致全部给删了,最后得到$c=’’,什么都没有,所以这里我们就可以构造参数获取flag了,如下:

成功获取flag。。。

上海市 1F
这代码看着有点懵,啥是extract函数?
陕西省渭南市 2F
懂了,用get传个a就能进if!
上海市奉贤区 B1
@ 孤影独行 get传a=111就能进if,原来这么简单。
印度 3F
FLAG搞你不成啦!笑死,这挑衅666。
韩国 B1
@ 暮雪白头 这flag嘲讽脸笑得我手痒也想试一发。
北京市 4F
之前搞过PHP,extract确实容易出问题。
山东省济南市 5F
那个trim啥都没指定,全删了也行?
湖北省武汉市 6F
图片里人脸笑得好夸张,和代码反差萌😂
北京市 7F
所以flag到底在哪儿?网址点进去没看到啊。
河北省石家庄市 8F
大神们玩得真花,我这种小白只能吃瓜围观。
马来西亚 9F
感觉这绕过方法挺巧的,可以试试。
上海市普陀区 10F
要是$b参数没控制好,会不会有风险?
辽宁省沈阳市 11F
网址那个页面是不是过期了,打不开啊。
辽宁省本溪市 B1
@ 元素召唤者 链接打不开,怕不是flag已经被人薅走了?
香港 12F
extract这种函数真不敢乱用,之前被坑过。
北京市 13F
哈哈,这人脸笑得我头皮发麻。
日本 14F
$b要是传个文件路径,是不是能读本地文件了?
湖南省长沙市 15F
一脸懵逼地进来,一脸懵逼地出去。
台湾省 16F
没看懂,但感觉大佬操作很骚。
上海市 17F
所以关键就是让$a存在且等于111?
天津市河西区 18F
风险肯定有啊,没过滤的话感觉能搞事情。
辽宁省沈阳市 19F
对啊,代码严肃人脸搞笑,作者有点意思。
澳大利亚 20F
flag到底藏哪了,有人截到图了吗?
中国 21F
懂了,就是绕过变量检查呗。