WebShell原理分析和防范实践.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
WebShell原理分析和防范实践

WebShell原理分析和防范实践   摘 要:WebShell是一种用来进行网站和服务器管理的脚本程序,同时攻击者通过上传WebShell获得Web服务器的管理权限,从而达到对网站服务器的渗透和控制。在对WebShell原理和关键代码分析的基础上,有针对性地提出WebShell攻击的防范措施及相关安全措施部署。   关键词:WebShell Web应用漏洞 安全攻防 防范措施   随着计算机信息技术的发展,基于B/S结构的Web应用系统迅速普及,从大型的门户网站到网络游戏网站,从网络商城、团购网站到各种服务性网站。由于Web系统开发人员的技术水平参差不齐,系统在设计、开发过程中对于安全问题考虑不周或疏漏,导致Web应用系统存在安全隐患。例如:SQL注入攻击、上传文件漏洞、提交表单漏洞、跨站点脚本攻击等,攻击者在获得Web系统漏洞后,一般会通过上传WebShell来获得Web服务器的操作权限。   1.WebShell概述   WebShell常被服务器管理员用于网站管理或者服务器管理等各种操作,同时攻击者也会利用恶意的WebShell来达到控制网站服务器的目的。从攻击者的角度看,WebShell就是一个ASP(ASP.NET)、JSP或者PHP脚本木马后门,攻击者在入侵一个网站后,常常在将这些脚本木马后门文件放置在网站服务器的Web目录中,然后攻击者就可以用Web页面的方式,通过脚本木马后门控制网站服务器[1],包括上传下载文件、查看数据库、执行任意程序命令等,其攻击过程如图1所示。   WebShell最大的优点就是可以穿越防火墙,由于与被控制的服务器或远程主机交换的数据都是通过WWW(80)端口传递的,因此会被防火墙认为是正常的数据交换而予于放行。并且使用WebShell进行服务器管理操作不会在系统安全日志中留下记录,只会在网站的Web日志中留下一些数据提交记录,并且与正常的网页文件混在一起,管理员是很难看出入侵痕迹的[2]。   2.WebShell关键代码分析   在分析大量的Webshell(ASP木马)程序源代码之后,发现主要采用FSO、Shell脚本技术或者直接引用注册表中的HKEY_CLASSES_ROOT相关键值进行操作[3],下面是常见的特征代码[4]:   (1)建立名为ObjFSO的Scripting.FileSystemObject对象,用于FSO对象的执行,对文件及文件夹的相关操作:包括文件的新建、编辑、重名名和删除以及文件夹的相关操作,   Set ObjFSO = Server.CreateObject(“Scripting.FileSystemObject”)   或者利用直接指定注册表的相关键值   object runat=“server” id=“ObjFSO” classid=“clsid:0D43FE01-F093-11CF-8940-   00A0C9054228”   (2)建立名为ObjShell的Wscript.SHELL对象,用于执行任意程序命令及对注册表的读写操作   Set ObjShell = Server.CreateObject(“WScript.SHELL”)   或者   object runat=“server” id=“ObjShell” classid=“clsid:72C24DD5-D70A-438B-   8A42-98424B88AFB8”   (3)建立ObjStream的ADODB.Stream对象,用于对服务器文件的上传和下载操作   Set ObjStream = Server.CreateObject(“ADODB.Stream”)   或者   object runat=“server” id=“ObjStream” classid=“clsid:0000-0010-   8000-00AA006D2EA4”   (4)Webshell可以获取服务器的基本信息,包括:服务器名称、服务器IP、服务器操作系统、WEB服务器版本、接受请求的服务器端口号等关键信息,为进一步的渗透攻击做准备。   获取服务器IP Request.ServerVariables(“LOCAL_ADDR”)   获取服务器操作系统 Request.ServerVariables(“OS”)   获取WEB服务器版本 Request.ServerVariables(“SERVER_SOFTWARE”)   3.WebShell防范实践   (1)服务器安全设置   ①加强对脚本文件的代码审计,对出现FSO、Shell对象等操作的页面进行重点分析。如网站无需使用FSO、Shell对

文档评论(0)

317960162 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档