payload:%0aphp %0aphp 经过第一个匹配时,以换行符为分割也就是%0a,前面因为是空的,所以只匹配换行符后面的,所以可以通过。 经过第二个正则表达式时,因为我们是%0aphp 不符合正则表达式的以php开头以php结尾。所以无法通过,最后输出flag 得到flag:ctfshow{c08f965a-8abf-4482-9822-86a9e299e547} 回到顶部 ...
highlight_file(__FILE__);error_reporting(0);include("flag.php");functiongetFlag(&$v1,&$v2){eval("$$v1= &$$v2;");var_dump($$v1); }if(isset($_GET['v1']) &&isset($_GET['v2'])){$v1=$_GET['v1'];$v2=$_GET['v2'];if(preg_match('/\~| |\`|\!|\@|\#|\\$...
反射,通俗来讲就是可以通过一个对象来获取所属类的具体内容,php中内置了强大的反射API:ReflectionClass:一个反射类,功能十分强大,内置了各种获取类信息的方法,创建方式为new ReflectionClass(str 类名),可以用echo new ReflectionClass('className')打印类的信息。ReflectionObject:另一个反射类,创建方式为new Ref...
php//在命令行中运行/*author yu22x*/fwrite(STDOUT,'[+]your function: ');$system=str_replace(array("\r\n", "\r", "\n"), "", fgets(STDIN));fwrite(STDOUT,'[+]your command: ');$command=str_replace(array("\r\n", "\r", "\n"), "", fgets(STDIN));echo '[*] (~'.urle...
寻思寻思,从头整一遍基础。又买了安恒出的新书。争取7号去吉林打省队选拔不给导儿丢脸吧呜呜 文件包含 web78: 这题一眼顶针了 web79 看下代码 代码语言:javascript 复制 if(isset($_GET['file'])){$file=$_GET['file'];$file=str_replace("php","???",$file);include($file);}else{highlight_file...
Ctfshow基础二刷(1) 文件包含 web78: 这题一眼顶针了 web79 看下代码 if(isset($_GET['file'])){$file = $_GET['file'];$file = str_replace("php", "???", $file);include($file);}else{highlight_file(__FILE__);} 有个简单替换,把php替换成了???
第一个preg_match(‘/^php/im′,a) 第二个preg_match(‘/^php/i′,a) 差别就在于第一个preg_match多了个/m,/m表示匹配多行数据,就是输入的每一行都被匹配,所以我们可以通过换行(%0a)绕过,最终payload?cmd=1%0aphp web92 代码语言:javascript ...
在上一题的基础上增加了过滤。flag、system、php 但是我们依然可以用到其他函数进行代替。 system() passthru() # passthru — 执行外部程序并且显示原始输出 exec() # exec — 执行一个外部程序 shell_exec() # shell_exec — 通过 shell 环境执行命令,并且将完整的输出以字符串的方式返回。 popen() proc_...
但是第一个正则匹配要求多行匹配php,但是另一个要求有去掉修饰符m要求不匹配php.那么就应该能想到是截断。 第一个匹配多行,第二个只匹配单行,那么我们可以构造php%0ap进行匹配,当多行匹配的时候前后都是p, 还可以这里有有两个条件,第一个需要是php,第二个又不可以php,不过有个差距就是m模式,/m代表匹配多行...
在上一题的基础上增加了过滤。flag、system、php 但是我们依然可以用到其他函数进行代替。 system()passthru() # passthru — 执行外部程序并且显示原始输出exec() # exec — 执行一个外部程序 shell_exec() # shell_exec — 通过 shell 环境执行命令,并且将完整的输出以字符串的方式返回。popen()proc_open(...