当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2014-061572

漏洞标题:PageAdmin CMS 2.x任意文件上传

相关厂商:PageAdmin

漏洞作者: cmd

提交时间:2014-05-20 18:31

修复时间:2014-08-18 18:34

公开时间:2014-08-18 18:34

漏洞类型:文件上传导致任意代码执行

危害等级:高

自评Rank:20

漏洞状态:已交由第三方合作机构(cncert国家互联网应急中心)处理

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-05-20: 细节已通知厂商并且等待厂商处理中
2014-05-25: 厂商已经确认,细节仅向厂商公开
2014-05-28: 细节向第三方安全合作伙伴开放
2014-07-19: 细节向核心白帽子及相关领域专家公开
2014-07-29: 细节向普通白帽子公开
2014-08-08: 细节向实习白帽子公开
2014-08-18: 细节向公众公开

简要描述:

PageAdmin CMS 2.x任意文件上传

详细说明:

/incs/fckeditor/editor/filemanager/connectors/aspx/upload.aspx
此处上传权限过滤有问题,看代码
if (HttpContext.Current.Request.Cookies["Master"] == null) {
if (HttpContext.Current.Request.Cookies["Member"] != null) {
if (HttpContext.Current.Request.Cookies["Member"].Values["Fck_Upload"] == "0") {
HttpContext.Current.Response.Write("<script language=javascript>alert('No permission!')</script>");
HttpContext.Current.Response.End();
}
} else {
HttpContext.Current.Response.Write("<script language=javascript>alert('No permission!')</script>");
HttpContext.Current.Response.End();
}
}
他只检测了cookie Master、Member是否存在,Member[Fck_Upload]是否等于零。
所以我们可以构造Cookie: Master=1;Member=1&Fck_Upload=1
这样就绕过了此处的验证。
继续看代码
if (httpPostedFile != null && httpPostedFile.ContentLength != 0) {
int int_ = 0;
string text = Path.GetFileName(httpPostedFile.FileName);
string extension = Path.GetExtension(httpPostedFile.FileName);
text = DateTime.Now.ToString("ddHHmmss") + extension;
string filename = Path.Combine(base.UserFilesDirectory, text);
httpPostedFile.SaveAs(filename);
string text2 = base.UserFilesPath + DateTime.Now.ToString("yyyy-MM") + "/" + text;
if (this.string_3 == "1" && (extension == ".gif" || extension == ".jpg" || extension == ".jpeg")) {
Watermark watermark = new Watermark();
text2 = watermark.Add_Watermark(text2);
}
this.method_1(int_, text2, text);
}
此处获取了上传文件名,扩展名,然后用当前日期加扩展名作为上传后的文件名
然后直接使用SaveAs保存了文件,后面的代码是加水印的代码,只有图片才会加
所以,只要设置好cookie,就可以直接上传webshell。

漏洞证明:

upload.png


网上用2.x版本的网站还是挺多的

web.png


找了一些例子
http://www.zhongdinggroup.com/incs/fckeditor/editor/filemanager/connectors/aspx/upload.aspx
http://bio.szu.edu.cn/incs/fckeditor/editor/filemanager/connectors/aspx/upload.aspx
http://library.xjtucc.cn/incs/fckeditor/editor/filemanager/connectors/aspx/upload.aspx
http://xsgzc.sru.jx.cn/incs/fckeditor/editor/filemanager/connectors/aspx/upload.aspx
http://rsc.ynnu.edu.cn/incs/fckeditor/editor/filemanager/connectors/aspx/upload.aspx
http://www.czhtjs.com/incs/fckeditor/editor/filemanager/connectors/aspx/upload.aspx
http://xxb.gdufe.edu.cn/incs/fckeditor/editor/filemanager/connectors/aspx/upload.aspx
http://dhxy.gznu.edu.cn/incs/fckeditor/editor/filemanager/connectors/aspx/upload.aspx
http://scxy.shmtu.edu.cn/incs/fckeditor/editor/filemanager/connectors/aspx/upload.aspx

修复方案:

过滤

版权声明:转载请注明来源 cmd@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:15

确认时间:2014-05-25 14:15

厂商回复:

最新状态:

暂无


漏洞评价:

评论

  1. 2014-10-12 18:00 | hzh4k ( 路人 | Rank:0 漏洞数:1 | 基情四射)

    不是任意文件上传啊<script language=javascript>alert('Refused the file type')</script>