<?php highlight_file(__FILE__); class ease{ private $method; private $args; function __construct($method, $args) { $this->method = $method; $this->args = $args; } function __destruct(){ if (in_array($this->method, array("ping"))) { call_user_func_array(array($this, $this->method), $this->args); } } function ping($ip){ exec($ip, $result); var_dump($result); } function waf($str){ if (!preg_match_all("/(\||&|;| |\/|cat|flag|tac|php|ls)/", $str, $pat_array)) { return $str; } else { echo "don't hack"; } } function __wakeup(){ foreach($this->args as $k => $v) { $this->args[$k] = $this->waf($v); } } } $ctf=@$_POST['ctf']; @unserialize(base64_decode($ctf)); ?>
时间: 2023-02-09 13:20:16 浏览: 57
highlight.rar_diffuse_highlight_specular_visual c
5星 · 资源好评率100%
这是一段 PHP 代码。这段代码定义了一个名为 "ease" 的类,该类具有两个私有变量:$method 和 $args。在类的构造函数中,这两个变量会被初始化为传入的参数。类还有两个函数:ping() 和 waf()。在类的析构函数中,如果 $method 的值为 "ping",则会调用 ping() 函数,并将 $args 传递给它作为参数。ping() 函数使用 exec() 函数执行传入的参数 $ip,并使用 var_dump() 函数输出结果。waf() 函数使用 preg_match_all() 函数来匹配传入的字符串 $str 中的字符串 "or",如果匹配成功则返回 true,否则返回 false。
阅读全文