ASP的chr(0)文件上传漏洞原理和解决方法介绍_应用技巧

我们在用ASP开发文件上传功能的时候,为了防止用户上传木马程序,常常会限制一些文件的上传,常用的方法是判断一下上传文件的扩展名是否符合规定,可以用right字符串函数取出上传文件的文件名的后四位,这样很容易就能判断了,但是这里面有一个漏洞,非常危险,就是chr(0)漏洞,详情请接着往下看。

一、首先解释下什么是chr(0)?

在ASP中可以用chr()函数调用ASCII码,其中chr(0)表示调用的是一个结束字符,简单的说当一个字符串中包含chr(0)字符时,只能输出chr(0)前面的字符,chr(0)后面的字符将不被输出。举例如说明:

复制代码 代码如下:

<%response.write "HTMer.com"&chr(0)&"欢迎您"%>

以上代码你在IIS下运行下看看,是不是只会输出“HTMer.com”呢?后面的“欢迎您”就没有了,因为读到chr(0)时就认为该语句结束了。

二、chr(0)漏洞上传原理:

假设我在ASP程序中已经设置只能上传jpg文件,这里看我怎么利用chr(0)漏洞上传ASP木马的:

这里假设有一个ASP木马文件为htmer.asp,我把它改名为htmer.asp .jpg,大家有没有看到中间有一个空格?我们在获取该文件名时,这个空格就被认为是chr(0),当用right("htmer.asp .jpg",4)看的时候,确实是.jpg,但是当实际读取htmer.asp .jpg,并生成文件的时候,系统读到chr(0)就以为结束了,所以后面的.jpg就输出不来了,上传后的文件名被自动生成了htmer.asp,这意味着什么?我想你应该知道了吧。

三、解决chr(0)漏洞的方法

解决办法是检查上传的文件名里面有没有chr(0),在ASP中直接用replace函数替换掉chr(0)字符即可。

时间: 2024-11-03 21:44:55

ASP的chr(0)文件上传漏洞原理和解决方法介绍_应用技巧的相关文章

ASP的chr(0)文件上传漏洞原理和解决方法介绍

我们在用ASP开发文件上传功能的时候,为了防止用户上传木马程序,常常会限制一些文件的上传,常用的方法是判断一下上传文件的扩展名是否符合规定,可以用right字符串函数取出上传文件的文件名的后四位,这样很容易就能判断了,但是这里面有一个漏洞,非常危险,就是chr(0)漏洞,详情请接着往下看. 一.首先解释下什么是chr(0)? 在ASP中可以用chr()函数调用ASCII码,其中chr(0)表示调用的是一个结束字符,简单的说当一个字符串中包含chr(0)字符时,只能输出chr(0)前面的字符,ch

ASP.NET 2.0文件上传控件

在ASP.NET 1.0/1.1,您可以上传文件使用的HTML文件上传服务器的控制.这种控制使一个<input type="file">网页上的内容,使最终用户将文件上载到服务器.要使用该文件,但是,你必须要做出的修改夫妇到页.例如,您都必须添加字符编码="多重/表单数据"页面的<form>元素. ASP.NET 2.0中引入了一个新文件上传服务器控件,使得文件上传到服务器的过程更加简单.当给一个页面的能力,上传文件,您只需包括新<as

asp文件上传错误&#039;800a0005&#039;的解决方法

一.治标方法: IE7以上版本其实把文件上传是否发送完整的本地路径做成一个选项,在IE的Internet选项中可以设置.如下图: 1.Internet安全选项: 2.完整路径选项设置: 由于默认是禁用的,所以会出现问题,把它启用就可以解决问题了.但这是治标的方法,如果网页是面向普通用户的,你不可能要求所有用户都来改变这个设置. 二.治本方法: 治本的方法只能靠改程序了.对于图片预览的,目前我还没有很好的方法获取到图片的本地完整路径,所以只能通过判断浏览器的版本,如果是IE7和FireFox3的版

文件上传漏洞在惠信中的应用_漏洞研究

近来大家为dvbbs的文件上传漏洞兴奋不已,想想在其他的系统里面能不能用的上呢?我就以惠信新闻系统来抛砖引玉吧!  惠信新闻系统3.1 windows2000+sp4  先看这句代码.admin_uploadfilesave.asp  ...............  Server.mappath(formPath&file.FileName)  ............................  保存时用路径+文件名+后缀名,那我们可以用dvbbs上的漏洞了,只不过我们改的是文件名(因

网站常见漏洞解析:文件上传漏洞

任意文件上传漏洞 文件上传漏洞(File Upload Attack)是由于文件上传功能实现代码没有严格限制用户上传的文件后缀以及文件类型,导致允许攻击者向某个可通过 Web 访问的目录上传任意PHP文件,并能够将这些文件传递给 PHP 解释器,就可以在远程服务器上执行任意PHP脚本. 一套web应用程序,一般都会提供文件上传的功能,方便来访者上传一些文件. 下面是一个简单的文件上传表单 <form action="upload.php" method="post&qu

asp.net下大文件上传知识整理_实用技巧

最近做在做ePartner项目,涉及到文件上传的问题. 以前也做过文件上传,但都是些小文件,不超过2M. 这次要求上传100M以上的东西. 没办法找来资料研究了一下.基于WEB的文件上传可以使用FTP和HTTP两种协议,用FTP的话虽然传输稳定,但安全性是个严重的问题,而且FTP服务器读用户库获取权限,这样对于用户使用来说还是不太方便. 剩下只有HTTP.在HTTP中有3种方式,PUT.WEBDAV.RFC1867,前2种方法不适合大文件上传,目前我们使用的web上传都是基于RFC1867标准的

ASP.NET设计FTP文件上传的解决方案_实用技巧

如果要用ASP来作一个FTP文件上传的页面,我想很多人立刻就会想到要用第三方开发的组件,利用第三方的组件,虽然开发起来相对比较容易.但一般来说,免费下载的第三方的组件都有某些方面的功能限制,若要购买正版的第三方组件,对于国内的用户,花销也是一个不小的数字,就是能够承担的起,烦杂的手续也使很多人望而却步.虽然微软公司在本身的视窗系统里面也提供了一个可以用来上传文件的组件--Posting Acceptor.但用过这个组件的朋友们都有一种普遍的感觉,就是实在不好用. 现在好了,自从微软公司推出了.N

扫描扫出文件上传漏洞,求大神帮忙解决

问题描述 文件上传漏洞中危漏洞URLhttp://www.xxxx.com参数表单名称:loginForm,提交URL:http://www.xxxx.com详情原始:GET/../../../xxxMain.action?reload=0&siteName=xxxHTTP/1.1User-Agent:Mozilla/4.0(compatible;MSIE8.0;WindowsNT5.1;Trident/4.0;CIBA;.NETCLR2.0.50727;.NETCLR3.0.04506.30)

php文件上传漏洞简单分析

下面是一个简单的文件上传表单  代码如下 复制代码 <form action="upload.php" method="post" enctype="multipart/form-data" name="form1">   <input type="file" name="file1" /><br />   <input type="s