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

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

缺陷编号:wooyun-2014-087285

漏洞标题:emlog 5.3.1 csrf getshell

相关厂商:emlog.net

漏洞作者: y0umer

提交时间:2014-12-17 10:19

修复时间:2015-03-17 10:20

公开时间:2015-03-17 10:20

漏洞类型:设计缺陷/逻辑错误

危害等级:中

自评Rank:10

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-12-17: 细节已通知厂商并且等待厂商处理中
2014-12-19: 厂商已经确认,细节仅向厂商公开
2014-12-22: 细节向第三方安全合作伙伴开放
2015-02-12: 细节向核心白帽子及相关领域专家公开
2015-02-22: 细节向普通白帽子公开
2015-03-04: 细节向实习白帽子公开
2015-03-17: 细节向公众公开

简要描述:

Emlog 一直以安全、小巧、扩展 得以天下,但是在5.3版本后后台出现了”应用”中心的功能,看似很便捷,也确实很便捷。但是由此而来的安全问题又产生了。在应用中心里,大家不用登录ftp或服务器,就可以直接把官方审核后的插件安装到博客里,类似于Apple Store,应用中心如果要上架应用必须的审核!如果被不法分子获得开发者权限,然后上传模版/插件后..可直接控制博客.用于黑帽seo等..

详细说明:

安全问题的产生:emlog 从5.3.0开始才考虑到csrf这个前端漏洞,但是由于csrf考虑不全,只做了文章、友情链接等安全支持,其他功能暂未实现csrf防御功能..
首先我们来看一个文件:

图片1.png


如果我们要从应用中心安装一个插件:
他的url应该是这样的:
后台地址/store.php?action=insplu&source=插件下载url
emFecthFile 函数

图片2.png


这是一个典型的从网络/本地获取一个文件,并且保存直tmp目录,然后存储到临时目录.
然后我们在看这里

图片3.png


如果$source_type 不等于tpl 时,
文件位置到../content/templates/ 否则文件位置到 ../content/plugins/
然后OFFICIAL_SERVICE_HOST 常量在 globs 文件定义

图片4.png


其实如果要下载一个插件就相当于 你的空间/服务器去em官方请求一个下载文件,然后em替你把文件下载到服务器,然后解压到相对应的目录...
假如我们要下载一个插件,在后台应用中心请求的url是这样的
http://localhost/blog/admin/store.php?action=insplu&source=/plugin/download/188
假设我们有了em开发者权限,并且上传了一个恶意脚本(实际上是没有病毒的)
然后引诱小白鼠来访问这个下载链接,在登录后台的情况下,就可以下载一个脚本到空间。

漏洞证明:

视频演示:http://v.qq.com/page/n/x/l/n01439im5xl.html

修复方案:

token or 来源

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


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:5

确认时间:2014-12-19 12:13

厂商回复:

需要有开发者的权限才能实现攻击,我们会严格的审核开发者的身份和开发者上传的程序文件,防止出现这种情况影响用户的安全。

最新状态:

2014-12-19:我们会在新版本中继续完善相关功能的CSRF攻击的防御