行业知识
ctfshow-web入门-102
这个题我想记录一下,主要是这个方法属实是有点惊艳到我了。故而进行记录,也为了方便大家阅读理解。
看题目,根据题目我写一下我的分析:
$_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怎么在服务器上跑?
下一篇:欧卡怎么登入服务器?