本论文是一篇关于木马类论文格式模板,关于基于ASP上传源码的漏洞解决策略相关学士学位论文范文。免费优秀的关于木马及文件及漏洞方面论文范文资料,适合木马论文写作的大学硕士及本科毕业论文开题报告范文和学术职称论文参考文献下载。
摘 要:随着ASP 技术的发展,网络上基于ASP技术开发的网站越来越多.与此同时,ASP木马被上传至网站后,其后果也是灾难性的.由于ASP木马不同于普通的可执行程序木马,它与正常的ASP文件并无本质不同,只是程序代码具有恶意性,因此很容易进行伪装、修改,且由于各种原因,ASP木马很容易被恶意上传,导致非常经典的ASP上传漏洞.该文就是基于对ASP木马上传漏洞的原理予以详细分析和研究,找出问题的根源所在,并提出彻底解决这种上传漏洞的合理化建议.
关 键 词:文件路径;文件名称;上传漏洞;策略研究
中图分类号:TP393文献标识码:A文章编号:1009-3044(2012)33-7899-04
随着基于ASP 技术建立的动态网站越来越多,由于网站的交互功能,导致ASP木马被上传至网站的可能性也越来越大.而ASP木马与正常的ASP文件并无本质不同,夹杂在正常ASP文件中难以分辨.当服务器被上传ASP木马并执行后,黑客可以对文件进行创建、修改、删除、上传、下载,服务器数据毫无安全可言.ASP木马甚至可以运行命令行程序,创建用户账号,安装后门程序,利用系统漏洞可将用户权限提升为管理员权限,其高度的隐蔽性和难查杀性,对网站的安全造成了严重的威胁.
所谓上传漏洞是指利用程序开发者在开发过程中的一些漏洞,将ASP、JSP、PHP等格式的木马上传至网站目录内,进而取得WEBSHELL,甚至管理员权限的一种方法. 对于上传漏洞的分析和研究,应该从上传文件的文件路径(FilePath)和文件名称(FileName)的源代码两个方面入手.
1 文件路径(FilePath)上传漏洞分析
文件路径(FilePath)上传漏洞主要是由于上传文件的路径(FILEPath)过滤不严引起的.比如动网程序、动易程序等上传文件的源码都存在这类漏洞,而且采用这种上传方式的网站大有人在,在此分析一下其部分源码:
在这段源码中,最关键的就这两句:
◆formPath等于upload.form("filepath")
◆filename等于formPath&year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&ranNum&fileExt
下面来看一下上传漏洞是如何形成的.在第一句代码中,从变量filepath中获取文件的保存路径,然后在第二句中,用路径变量formPath加随机生成的数字及经过判断的扩展名合成为一个新的变量,这个变量Filename就是上传文件保存的路径及名称.比如选择“a.jpg”文件上传,在上传过程中,随文件一起上传的还有一个FilePath变量,假设其值为“image”,当这些值传到upfile.asp中,filename就变成了“image/201210190820944973.jpg”,上传成功后,该a.jpg就被保存到image文件夹内,文件名字也被改成了“201210190820944973.jpg”.
这是设计者的想法,似乎无懈可击.但细细研究,就会发现问题,其突破点就在变量身上.如果将FilePath值改为“image/b.asp_”(“_”表示二进制的00的意思),这样,该变量提交入upfile.asp后,Filename值就变成了“image/b.asp_/201210190820944973.jpg”,服务器在读取这段变量时,因为“_”是二进制的00,认为该变量语句已经结束了,于是“_”后面的字符也就被忽略掉了,这样一来Filename就成了“image/b.asp”,程序再用file.SaveAs进行保存,这个文件就保存成了b.asp文件,这种上传文件路径(FilePath)漏洞就出现了,随之而来的严重后果在此就不分析了.
本文url http://www.sxsky.net/benkelunwen/060258784.html
2 文件名称(FileName)上传漏洞分析
文件名称(FileName)上传漏洞主要是上传文件名称(FileName)过滤不严谨造成的.笔者收集并阅读了大量的上传程序源码,发现上传文件名称过滤不严的形式是多种多样的,但其核心问题的表现形式基本差不多,在此以一段最典型的代码进行分析说明,其部分源码如下:
上面代码中正常运行所涉及到参数主要包括:
◆FixName()函数,其接下来的源码为:
从上面代码可以看出,系统中asp.dll文件映射的类型(asp、asa、cer、cdx、htr、s等)全部被过滤了,除此之外,还有小数点、单引号也被过滤,甚至连Chr(0)都过滤了(这儿的C