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

相关推荐
Moniane3 分钟前
C++深度解析:从核心特性到现代编程实践
java·开发语言·jvm
uxiang_blog4 分钟前
C++进阶:重载类型转换
linux·开发语言·c++
爱编程的鱼23 分钟前
C# 参数详解:从基础传参到高级应用
开发语言·microsoft·c#
Michael_lcf25 分钟前
Java的UDP通信:DatagramSocket和DatagramPacket
java·开发语言·udp
道之极万物灭26 分钟前
Python操作word实战
开发语言·python·word
moringlightyn1 小时前
c++11可变模版参数 emplace接口 新的类功能 lambda 包装器
开发语言·c++·笔记·其他·c++11·lambda·包装器
Laplaces Demon1 小时前
Spring 源码学习(十四)—— HandlerMethodArgumentResolver
java·开发语言·学习
郝学胜-神的一滴1 小时前
使用Linux系统函数递归遍历指定目录
linux·运维·服务器·开发语言·c++·软件工程
guygg881 小时前
Java 无锁方式实现高性能线程
java·开发语言
青衫码上行1 小时前
【从0开始学习Java | 第22篇】反射
java·开发语言·学习