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

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

缺陷编号:wooyun-2014-051650

漏洞标题:Thinksaas 失败的getshell & 一枚注入。

相关厂商:thinksaas.cn

漏洞作者: ′雨。

提交时间:2014-02-21 21:43

修复时间:2014-05-19 21:43

公开时间:2014-05-19 21:43

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:20

漏洞状态:漏洞已经通知厂商但是厂商忽略漏洞

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

/*为什么最新一直被走小厂商?
累觉不爱。*/
本来还以为能够直接前台getshell的。
能直接把代码写入文件。
但是最后也都败给了转义符。
还是来注入把。

详细说明:

0x01 失败的Getshell。
\app\mail\action\admin\do.php
访问这里 无需登录。

$arrData = array(
'appname' => trim($_POST['appname']),
'appdesc' => trim($_POST['appdesc']),
'isenable' => trim($_POST['isenable']),
'mailhost' => trim($_POST['mailhost']),
'mailport' => trim($_POST['mailport']),
'mailuser' => trim($_POST['mailuser']),
'mailpwd' => trim($_POST['mailpwd']),
);

foreach ($arrData as $key => $val){
$db->query("UPDATE ".dbprefix."mail_options SET optionvalue='$val' where optionname='$key'");
}

//更新缓存
$arrOptions = $db->fetch_all_assoc("select optionname,optionvalue from ".dbprefix."mail_options");
foreach($arrOptions as $item){
$arrOption[$item['optionname']] = $item['optionvalue'];
}

fileWrite('mail_options.php','data',$arrOption);
$tsMySqlCache->set('mail_options',$arrOption);

qiMsg("邮件配置更新成功,并重置了缓存文件^_^");


很多可控 但是在query执行语句的时候
单引号会被转义。 再继续看看。
然后就带入了filewrite

function fileWrite($file, $dir, $data, $isphp = 1) {
global $TS_CF, $TS_MC;

$dfile = $dir . '/' . $file;

// 支持memcache
if ($TS_CF ['memcache'] && extension_loaded ( 'memcache' )) {
$TS_MC->delete ( md5 ( $dfile ) );
$TS_MC->set ( md5 ( $dfile ), $data, 0, 172800 );
}
$a = var_export ($data, false);

// 同时保存文件
! is_dir ( $dir ) ? mkdir ( $dir, 0777 ) : '';
if (is_file ( $dfile ))
unlink ( $dfile );
if ($isphp == 1) {
$data = "<?php\ndefined('IN_TS') or die('Access Denied.');\nreturn " . var_export ( $data, true ) . ";";

}

file_put_contents ( $dfile, $data );

return true;


直接写到php文件里面里。
$dfile 不可控 但是是一个php文件 $data可控。
在var_export 之前输出$data
Array ( [appname] => a' [appdesc] => [isenable] => [mailhost] => [mailport] => [mailuser] => [mailpwd] => )
可以看到是没有转义的。 但是在经过var_export后
跟var_dump差不多 不同就是就是他会把这个弄成php格式。
也把a'转义了。
至此 Getshell 无望。
mail options.php文件中

<?php
defined('IN_TS') or die('Access Denied.');
return array (
'appname' => 'a\'',
'appdesc' => '',
'isenable' => '',
'mailhost' => '',
'mailport' => '',
'mailuser' => '',
'mailpwd' => '',
);


_________________________________________________________________
0x02 注入。
还是这个文件。
虽然进入query的转义了
但是还有其他的查询。

I6__({0BWV34RZF07PAU6_L.jpg


漏洞证明:

%IN))3VZ{K6MXF%[A3YLI9K.jpg


修复方案:

求20。
求保养。
thanks

版权声明:转载请注明来源 ′雨。@乌云


漏洞回应

厂商回应:

危害等级:无影响厂商忽略

忽略时间:2014-05-19 21:43

厂商回复:

最新版已经无法访问\app\mail\action\admin\文件。
官方2月20号已经修复上述普通用户访问管理员操作问题。
再次感谢您的反馈,谢谢!

最新状态:

暂无


漏洞评价:

评论

  1. 2014-02-21 21:48 | xsser 认证白帽子 ( 普通白帽子 | Rank:254 漏洞数:18 | 当我又回首一切,这个世界会好吗?)

    能有钱就好嘛 不是么 亲

  2. 2014-02-22 14:11 | 寂寞的瘦子 ( 普通白帽子 | Rank:242 漏洞数:53 | 一切语言转汇编理论)

    @xsser 确定这种cms也有钱?

  3. 2014-02-22 14:12 | xsser 认证白帽子 ( 普通白帽子 | Rank:254 漏洞数:18 | 当我又回首一切,这个世界会好吗?)

    @寂寞的瘦子 应该是的 要么是钱要么是QB 一定有吧

  4. 2014-02-22 14:24 | 寂寞的瘦子 ( 普通白帽子 | Rank:242 漏洞数:53 | 一切语言转汇编理论)

    @xsser 鼓掌~~,顺求审核我最新的洞,研究这个cms挖的我很累的说

  5. 2014-02-23 11:38 | ′ 雨。 ( 普通白帽子 | Rank:1231 漏洞数:190 | Only Code Never Lie To Me.)

    @thinksaas.cn 那把官网上下载的程序更新了嘛。 我再看看。

  6. 2014-02-26 19:40 | 冷静 ( 路人 | Rank:3 漏洞数:2 )

    @xsser 这洞主还没16岁没银行卡,还是奖QB吧

  7. 2014-02-27 09:12 | ′ 雨。 ( 普通白帽子 | Rank:1231 漏洞数:190 | Only Code Never Lie To Me.)

    @冷静 ..你是哪个啊? 你怎知道。 上次你还发你空间图片来着 我还奇怪呢。

  8. 2014-10-01 22:04 | PythonPig ( 普通白帽子 | Rank:491 漏洞数:71 | 只会简单工具的小小菜)

    问个低智商的问题,你上面图片上的内容除了post data那部分是hackbar得功能,图片中的“黑框”和右侧部分也是 hackbar还是其他工具?

  9. 2014-10-01 22:15 | ′ 雨。 ( 普通白帽子 | Rank:1231 漏洞数:190 | Only Code Never Lie To Me.)

    @PythonPig 一个控制台 一个日志。

  10. 2014-10-01 22:59 | PythonPig ( 普通白帽子 | Rank:491 漏洞数:71 | 只会简单工具的小小菜)

    @′ 雨。 额~~控制台指的是firefox的控制台?日志是查看的mysql的运行日志嘛?怎么感觉效果不是你这样的勒?thx~~

  11. 2014-10-01 23:41 | ′ 雨。 ( 普通白帽子 | Rank:1231 漏洞数:190 | Only Code Never Lie To Me.)

    @PythonPig mysql的控制台 另外个就是mysql的日志

  12. 2014-10-07 15:45 | PythonPig ( 普通白帽子 | Rank:491 漏洞数:71 | 只会简单工具的小小菜)

    @′ 雨。 用啥子软件查看的日志啊?我用文本查看,格式记我蛋碎一地啊