ASP上传漏洞之利用CHR(0)绕过扩展名检测脚本

2019-01-13 03:40:13丽君

strtobin = .Read()
.Close
End With
End Function

然后将上述代码的第106行改成下面这样(以ASCII读取文本):


FileContents = strtobin(file_get_contents(FileName), "ASCII")

这样改过后上传的ASP文件就是普通编码的文件了,然后浏览器访问这个文件,可以看到该ASP被成功解析。

不过这里觉得啰嗦了一点,其实可以直接以二进制打开文件并返回数据,这里进行了两步:1.以文本方式读取文件;2.将文本转换为二进制数据。一步到位的代码可以参考下面一次以二进制Byte()方式读取文件数据的函数:


'Returns file contents As a binary data
Function GetFile(FileName)
Dim Stream: Set Stream = CreateObject("ADODB.Stream")
Stream.Type = 1 'Binary
Stream.Open
Stream.LoadFromFile FileName
GetFile = Stream.Read
Stream.Close
Set Stream = Nothing
End Function

更优化的代码我就不写了,主要说明的是一个上传思路,如果大家希望得到完善的上传实现,可以参考Demon的《VBS模拟POST上传文件》 。
原文: //www.jb51.net/article/26103.htm

您可能感兴趣的文章:

IIS6 中"ASP 0201 错误 无效的默认脚本语言" 的解决方法使用ASP控制指定站点解析脚本语言函数用InstallShield打包ASP程序的脚本asp分页生成html的程序脚本代码隐藏修改文件时间和文件属性的ASP脚本ASP.NET调用javascript脚本的常见方法小结从一个网站扒下的asp生成静态页面的代码 易采站长站特供版iis、apache与nginx禁止目录执行asp、php脚本的实现方法ASP中Server.Execute和Execute实现动态包含(include)脚本的区别ASP.NET中后台注册js脚本使用的方法对比ASP程序中常用的脚本语言