PHP绕过正则

目录

 一、异或

1、异或的前置知识

 2、进阶版异或

 3、异或构建一句话木马

4、利用异或绕过正则:

 二、取反

三、自增

四、临时文件


 一、异或

当$ 和 _ 没有被限制时

1、异或的前置知识

PHP绕过正则_第1张图片

A的ascll码为65  二进制为0100 0001

`  的ascll码为96 二进制为0110 0000

A和 ` 取异或 即相同位 置0 ,不同位置 1

然后A 和 ` 得到的二进制码为 0010 0001 ,ascll码为33 ,ascll码表对应符号为!

 2、进阶版异或

 代码:

 PHP绕过正则_第2张图片

?:0011 1111

}   :0111 1101

        0100 0010   -----66

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

PHP绕过正则_第3张图片

 PHP绕过正则_第4张图片

 3、异或构建一句话木马

PHP绕过正则_第5张图片

 

 使用蚁剑连接这个一句话木马;

PHP绕过正则_第6张图片

PHP绕过正则_第7张图片

4、利用异或绕过正则:

PHP绕过正则_第8张图片

 

PHP绕过正则_第9张图片

 二、取反

代码:

PHP绕过正则_第10张图片

 

 phpinfo 取反的值为: %8F%97%8F%96%91%99%90

?code=$_=~%8F%97%8F%96%91%99%90;$_();

三、自增

四、临时文件

PHP绕过正则_第11张图片

 

你可能感兴趣的:(php)