我们在用ASP开发文件上传功能的时候,为了防止用户上传木马程序,常常会限制一些文件的上传,常用的方法是判断一下上传文件的扩展名是否符合规定,可以用right字符串函数取出上传文件的文件名的后四位,这样很容易就能判断了,但是这里面有一个漏洞,非常危险,就是chr(0)漏洞,详情请接着往下看。
一、首先解释下什么是chr(0)?
在ASP中可以用chr()函数调用ASCII码,其中chr(0)表示调用的是一个结束字符,简单的说当一个字符串中包含chr(0)字符时,只能输出chr(0)前面的字符,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)字符即可。
1.初始的一个项目 点击右上角的AVD Manager 当然从欢迎页面也可以创建虚拟机 一...
本文转载自微信公众号「UP技术控」,作者conan5566 。转载本文请联系UP技术控公...
SVG (Scalable Vector Graphics) 可缩放矢量图,是一种基于XML语法的图像格式。...
写在前面 微软在更新.Net Core版本的时候,动作往往很大,使得每次更新版本的时...
导读:新版本主要有三大变化:同步了OpenJDK 上游社区 jdk8u222-ga 的最新更新;...
ob缓存介绍 ob是output buffering的简称,输出缓冲区,缓冲区是通过php.ini中的o...
1.不要羡慕别人的幸福而哀叹你的痛苦,不要惊艳别人的美丽而伤感你的平凡,不要...
网页爬虫:就是一个程序用于在互联网中获取指定规则的数据。 思路: 1.为模拟网...
命令简介 tac 命令用于按相反顺序逐行连接和打印文件内容。 和 cat 命令一样,将...
现在的这个项目需要用asp做定时邮件发送,好多人都说asp没有这样的功能。 其实我...