主页 > 知识库 > ASP的chr(0)文件上传漏洞原理和解决方法介绍

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

热门标签:服务器配置 阿里云 科大讯飞语音识别系统 银行业务 团购网站 电子围栏 Mysql连接数设置 Linux服务器

我们在用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)字符即可。

您可能感兴趣的文章:
  • asp.net 简便无刷新文件上传系统
  • Asp.Net超大文件上传问题解决
  • Asp.Net 无刷新文件上传并显示进度条的实现方法及思路
  • asp.net实现上传文件显示本地绝对路径的实例代码
  • asp.net Textbox服务器控件
  • ASP.NET MVC处理文件上传的小例子
  • asp.net 文件上传实例汇总
  • asp.net文件上传示例分享
  • asp.net fileupload控件上传文件与多文件上传
  • ASP.NET实现的简单易用文件上传类
  • ASP.NET对大文件上传的解决方案
  • asp.net批量多选文件上传解决方案
  • ASP.NET设计FTP文件上传的解决方案
  • asp将本地的文件上传到服务器

标签:大理 蚌埠 衡水 江苏 萍乡 广元 枣庄 衢州

巨人网络通讯声明:本文标题《ASP的chr(0)文件上传漏洞原理和解决方法介绍》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266