基于asp上传源码的漏洞分析及解决策略的创建

基于asp上传源码的漏洞分析及解决策略的创建

ID:46420735

大小:70.50 KB

页数:7页

时间:2019-11-23

基于asp上传源码的漏洞分析及解决策略的创建_第1页
基于asp上传源码的漏洞分析及解决策略的创建_第2页
基于asp上传源码的漏洞分析及解决策略的创建_第3页
基于asp上传源码的漏洞分析及解决策略的创建_第4页
基于asp上传源码的漏洞分析及解决策略的创建_第5页
资源描述:

《基于asp上传源码的漏洞分析及解决策略的创建》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、基于ASP上传源码的漏洞分析及解决策略的创建中图分类号:TP393文献标识码:A文章编号:1009-304433-7899-04随着基于ASP技术建立的动态网站越来越多,由于网站的交互功能,导致ASP木马被上传至网站的可能性也越来越大。而ASP木马与正常的ASP文件并无本质不同,夹杂在正常ASP文件中难以分辨。当服务器被上传ASP木马并执行后,黑客可以对文件进行创建、修改、删除、上传、下载,服务器数据毫无安全可言。ASP木马甚至可以运行命令行程序,创建用户账号,安装后门程序,利用系统漏洞可将用户权限提升为管理员权限,其高度的隐蔽性和难查杀性,对网站的安全造成

2、了严重的威胁。所谓上传漏洞是指利用程序开发者在开发过程中的一些漏洞,将ASP、JSP、PHP等格式的木马上传至网站目录内,进而取得WEBSHELL,甚至管理员权限的一种方法。对于上传漏洞的分析和研究,应该从上传文件的文件路径和文件名称的源代码两个方面入手。1文件路径上传漏洞分析文件路径上传漏洞主要是由于上传文件的路径过滤不严引起的。比如动网程序、动易程序等上传文件的源码都存在这类漏洞,而且采用这种上传方式的网站大有人在,在此分析一下其部分源码:在这段源码中,最关键的就这两句:♦formPath=■filename=formPath&year&month&da

3、y&hour&minute&second&ranNum&fi1eExt下面来看一下上传漏洞是如何形成的。在第一句代码中,从变量filepath中获取文件的保存路径,然后在第二句中,用路径变量fonnPath加随机生成的数字及经过判断的扩展名合成为一个新的变量,这个变量Mlename就是上传文件保存的路径及名称。比如选择“”文件上传,在上传过程中,随文件一起上传的还有一个FilePath变量,假设其值为“image”,当这些值传到中,filename就变成了“image/”,上传成功后,该就被保存到image文件夹内,文件名字也被改成了“”。这是设计者的想法,

4、似乎无懈可击。但细细研究,就会发现问题,其突破点就在变量身上。如果将FilePath值改为“image/_”,这样,该变量提交入后,Filename值就变成了“image/_/”,服务器在读取这段变量时,因为是二进制的00,认为该变量语句已经结束了,于是“”后面的字符也就被忽略掉了,这样一来Filename就成了“image/”,程序再用进行保存,这个文件就保存成了文件,这种上传文件路径漏洞就出现了,随之而来的严重后果在此就不分析了。2文件名称上传漏洞分析文件名称上传漏洞主要是上传文件名称过滤不严谨造成的。笔者收集并阅读了大量的上传程序源码,发现上传文件名称

5、过滤不严的形式是多种多样的,但其核心问题的表现形式基本差不多,在此以一段最典型的代码进行分析说明,其部分源码如下:上面代码中正常运行所涉及到参数主要包括:♦FixName函数,其接下来的源码为:从上面代码可以看出,系统中文件映射的类型全部被过滤了,除此之外,还有小数点、单引号也被过滤,甚至连Chr都过滤了是16进制的00,表不为二进制是00000000,就是前面在文件路径上传漏洞中大显神通的空字符)。♦CheckF订eExt函数,源码形式为:这个函数对经过FixName函数审核后的文件扩展名再次判断,共有三次检查。第一次是判断传递来的文件扩展名是否为空;第二

6、次是判断文件扩展名是否属于asp、asa等四种禁止传的文件类型;第三次就是用该扩展名同后台自定义的上传扩展名进行对比,符合就允许上传。下面上传一个文件来看其流程。比如上传文件为“”,用“FileExt=FixName"过滤这个文件时,因为cer属于fixName函数的过滤范围,所以扩展名cer就成了空。当把这个空的扩展名传递给CheckFileExt函数,在其进行到“IfFileExt=/,,,orIsEmpty"语句时,就会因为F订eExt为空而退出交互,拒绝上传。这种设计思路,多重的判断的审核,好像非常严谨,但是只要认真琢磨,一样会发现问题,其突破点就在

7、FixName函数中。从上面上传“”文件时我们知道,“cer”会被过滤为空,但如果我们把上传文件扩展名改为ccerer,同时在后台自定义上传类型中增加“ccerer”、“cer”。这样,扩展名为ccerer的文件在经过第一步FixName函数过滤后,变成了cer,传递此值到CheckFileExt函数时,可以通过第一个关卡,再通过第二个限制类型的关卡,最后到对比后台上传类型关卡,顺利通过CheckFileExt的三次的判断,并给定CheckF订eExt=True,这样就把这个扩展名ccerer的文件上传到服务器中了,并且上传后的扩展名是“cer”。由于cer

8、文件同asp文件一样,可以被执行,这就是典型的文件名

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。