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
懂了,就是绕过变量检查呗。
浙江省丽水市青田县 22F
extract这函数听着就危险,果然坑过不少人。
内蒙古阿拉善盟 23F
trim不带参数直接清空,这操作真是骚断腿。
上海市金山区 24F
$b要是指向/etc/passwd,岂不是直接RCE?
四川省攀枝花市 25F
我也踩过extract的坑,变量全被覆盖了hhh。
日本 26F
一脸懵,代码看懂了flag还是没找到在哪。
湖北省武汉市 27F
这作者怕不是渗透题做多了,整这么野。
山东省滨州市 28F
所以最后到底怎么构造payload的?求细说
上海市 29F
flag搞你不成啦,结果真搞不成,破防了。
河北省邢台市 30F
之前审计代码遇到类似写法,当场报警。
江苏省无锡市 31F
懂了,变量覆盖的锅。
日本 32F
这题像是CTF新手村的入门关卡。
天津市 33F
笑死,人脸和代码反差太大,像在演小品😂