ASP的chr(0)文件上传漏洞原理和解决方法介绍
2023-06-13 09:15:32 时间
我们在用ASP开发文件上传功能的时候,为了防止用户上传木马程序,常常会限制一些文件的上传,常用的方法是判断一下上传文件的扩展名是否符合规定,可以用right字符串函数取出上传文件的文件名的后四位,这样很容易就能判断了,但是这里面有一个漏洞,非常危险,就是chr(0)漏洞,详情请接着往下看。
一、首先解释下什么是chr(0)?
在ASP中可以用chr()函数调用ASCII码,其中chr(0)表示调用的是一个结束字符,简单的说当一个字符串中包含chr(0)字符时,只能输出chr(0)前面的字符,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)字符即可。
相关文章
- upload-labs文件上传漏洞
- 记一次Zip Slip任意文件写漏洞
- Spring Security 之防漏洞攻击
- Weblogic反序列化远程代码执行漏洞(CVE-2019-2729)
- 远程桌面漏洞利用与分析
- 网络安全信息收集-url采集工具(msray)查找可能存在sql注入漏洞的站点
- zookeeper下载及安装教程_Zookeeper未授权访问漏洞
- Aapache Tomcat AJP 文件包含漏洞复现
- CVE-2022-44268 ImageMagick任意文件读取漏洞
- 【漏洞预警】CVE-2022-2588:Linux Kernel 权限提升漏洞
- 缓慢的Http拒绝服务攻击漏洞的验证(slowhttptest的安装)
- Java堆栈溢出漏洞分析
- Linux64位程序中的漏洞利用
- 验证Apache log4j漏洞是否存在
- Fuxploider:一款针对文件上传漏洞的安全检测与研究工具
- 被曝高危漏洞,威胁行为者可获取Amazon Photos文件访问权限
- FreeBuf周报 | 沃尔沃零售商泄露敏感文件;OpenAI推出漏洞赏金计划
- Windows Defender一漏洞竟存在12年:近期终于得到修复
- 黑客利用存在 5 年的漏洞 感染服务器并获利
- Android漏洞扫描工具Code Arbiter
- 对众多知名公司造成影响的Oracle Responsys本地文件包含漏洞
- MSSQL注入漏洞防范之文件上传安全(mssql注入上传)
- MySQL漏洞下载文件提权攻击(mysql下载文件提权)
- Windows下PHP的任意文件执行漏洞
- 浅谈web上存漏洞及原理分析、防范方法(安全文件上存方法)