基于asp上传源码漏洞研究及解决策略探究

基于asp上传源码漏洞研究及解决策略探究

ID:31776834

大小:60.00 KB

页数:9页

时间:2019-01-18

基于asp上传源码漏洞研究及解决策略探究_第1页
基于asp上传源码漏洞研究及解决策略探究_第2页
基于asp上传源码漏洞研究及解决策略探究_第3页
基于asp上传源码漏洞研究及解决策略探究_第4页
基于asp上传源码漏洞研究及解决策略探究_第5页
资源描述:

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

1、基于ASP上传源码漏洞研究及解决策略探究摘要:随着ASP技术的发展,网络上基于ASP技术开发的网站越来越多。与此同时,ASP木马被上传至网站后,其后果也是灾难性的。由于ASP木马不同于普通的可执行程序木马,它与正常的ASP文件并无本质不同,只是程序代码具有恶意性,因此很容易进行伪装、修改,且由于各种原因,ASP木马很容易被恶意上传,导致非常经典的ASP上传漏洞。该文就是基于对ASP木马上传漏洞的原理予以详细分析和研究,找出问题的根源所在,并提出彻底解决这种上传漏洞的合理化建议。关键词:文件路径;文件名称;上传漏洞;策略研究中图分类号:TP393文献

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

3、发过程中的一些漏洞,将ASP、JSP、PHP等格式的木马上传至网站目录内,进而取得WEBSHELL,甚至管理员权限的一种方法。对于上传漏洞的分析和研究,应该从上传文件的文件路径(FilePath)和文件名称(F订eName)的源代码两个方面入手。1文件路径(FilePath)上传漏洞分析文件路径(F订ePath)上传漏洞主要是由于上传文件的路径(FILEPath)过滤不严引起的。比如动网程序、动易程序等上传文件的源码都存在这类漏洞,而且采用这种上传方式的网站大有人在,在此分析一下其部分源码:在这段源码中,最关键的就这两句:♦formPath=upl

4、oad.form(”filepathv)♦filename二formPath&year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&ranNum&fi1eExt下面来看一下上传漏洞是如何形成的。在第一句代码中,从变量f订epath中获取文件的保存路径,然后在第二句中,用路径变量formPath加随机生成的数字及经过判断的扩展名合成为一个新的变量,这个变量F订ename就是上传文件保存的路径及名称。比如选择"a.jpg”文件上传,在上传过程中,随文件一起上传的还有一个FileP

5、ath变量,假设其值为"image",当这些值传到upfile.asp中,f订ename就变成了“image/201210190820944973.jpg”,上传成功后,该a.jpg就被保存到image文件夹内,文件名字也被改成了“201210190820944973.jpg”。这是设计者的想法,似乎无懈可击。但细细研究,就会发现问题,其突破点就在变量身上。如果将F订ePath值改为“image/b.asp_”(表示二进制的00的意思),这样,该变量提交入upfile.asp后,Filename值就变成了“image/b.asp_/20121019

6、0820944973.jpg”,服务器在读取这段变量时,因为是二进制的00,认为该变量语句已经结束了,于是后面的字符也就被忽略掉了,这样一来F订ename就成了"image/b.asp”,程序再用file.SaveAs进行保存,这个文件就保存成了b.asp文件,这种上传文件路径(F订ePath)漏洞就出现了,随之而来的严重后果在此就不分析了。2文件名称(F订eName)上传漏洞分析文件名称(F订eName)上传漏洞主要是上传文件名称(FileName)过滤不严谨造成的。笔者收集并阅读了大量的上传程序源码,发现上传文件名称过滤不严的形式是多种多样的,

7、但其核心问题的表现形式基本差不多,在此以一段最典型的代码进行分析说明,其部分源码如下:上面代码中正常运行所涉及到参数主要包括:♦FixName()函数,其接下来的源码为:从上面代码可以看出,系统中asp.dll文件映射的类型(asp、asa、cer>cdx、htr、shtml等)全部被过滤了,除此之外,还有小数点、单引号也被过滤,甚至连Chr(0)都过滤了(这儿的Chr(0)是16进制的00,表示为二进制是00000000,就是前面在文件路径上传漏洞中大显神通的空字符)。♦CheckF订eExt()函数,源码形式为:这个函数对经过FixName()

8、函数审核后的文件扩展名再次判断,共有三次检查。第一次是判断传递来的文件扩展名是否为空;第二次是判断文件扩展名是否属于asp

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

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

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