小工具知识网

当前位置: 首页 > 行业知识 > ctfshow-web入门-102

行业知识

ctfshow-web入门-102

2026-11-15 20:13:57 来源:互联网转载

这个题我想记录一下,主要是这个方法属实是有点惊艳到我了。故而进行记录,也为了方便大家阅读理解。

看题目,根据题目我写一下我的分析:

$_POST传入一个v1,$_GET传入一个v2,一个v3。

赋值符号=   优先级高于and,所以$v2=$v4

is_numeric — 检测变量是否为数字或数字字符。

bool is_numeric ( mixed $var )

如果 var 是数字和数字字符串则返回 TRUE,否则返回 FALSE。

substr — 返回字符串的子串

说明 

string substr( string $string, int $start[, int $length] )

返回字符串 string 由 start 和 length 参数指定的子字符串。

call_user_func — 把第一个参数作为回调函数调用

说明 

mixed call_user_func( callable $callback[, mixed $parameter[, mixed $...]] )

第一个参数 callback 是被调用的回调函数,其余参数是回调函数的参数。 

 file_put_contents — 将一个字符串写入文件

 

 

根据上面的函数解释再看一遍源代码。

分析出来:1、 $s = substr($v2,2);由此可知,返回$v2的前三位;

                  2、$str = call_user_func($v1,$s);由此可知$v1是函数,$s是参数

                  3、给v3一定要传入一个文件名字,这样才能构造出来一个接受$str的文件

原本我的想法是:$v3传1.php,$v1传system,但是卡在了$v2传不下去了

参考了大师傅的想法和各位万能的网友的wp后,感觉大有所获,来详细分享。

大师傅wp:

$a='

上一篇:maven怎么在服务器上跑?

下一篇:欧卡怎么登入服务器?