CTFshow web入门web128-php特性31

开启环境:

一个新的姿势,当php扩展目录下有php_gettext.dll时:

_()是一个函数。

_()==gettext() 是gettext()的拓展函数,开启text扩展get_defined_vars --- 返回由所有已定义变量所组成的数组。

call_user_func --- 把第一个参数作为回调函数调用,第一个参数是被调用的回调函数,其余参数是回调函数的参数。

当正常的gettext("get_defined_vars");时会返还get_defined_vars

为了绕过正则,()函数和gettext()的效果一样,所以可以用()函数代替gettext()函数。

call_user_func会利用_()将get_defined_vars返还出来然后再有一个call_user_func来调用get_defined_vars函数,然后利用var_dump函数就可以得到flag。

?f1=_&f2=get_defined_vars

相关推荐
阿猿收手吧!5 分钟前
【C++】异步编程:std::async终极指南
开发语言·c++
小程故事多_8018 分钟前
Agent Infra核心技术解析:Sandbox sandbox技术原理、选型逻辑与主流方案全景
java·开发语言·人工智能·aigc
沐知全栈开发19 分钟前
SQL 日期处理指南
开发语言
黎雁·泠崖22 分钟前
【魔法森林冒险】3/14 Allen类(一):主角核心属性与初始化
java·开发语言
黎雁·泠崖27 分钟前
【魔法森林冒险】1/14 项目总览:用Java打造你的第一个回合制冒险游戏
java·开发语言
独好紫罗兰31 分钟前
对python的再认识-基于数据结构进行-a006-元组-拓展
开发语言·数据结构·python
C++ 老炮儿的技术栈36 分钟前
Qt 编写 TcpClient 程序 详细步骤
c语言·开发语言·数据库·c++·qt·算法
yuuki2332331 小时前
【C++】继承
开发语言·c++·windows
222you1 小时前
Redis的主从复制和哨兵机制
java·开发语言
牛奔1 小时前
如何理解 Go 的调度模型,以及 G / M / P 各自的职责
开发语言·后端·golang