漏洞概要 关注数(10) 关注此漏洞
缺陷编号: WooYun-2014-50236
漏洞标题: Thinksaas某处绕过过滤的注射漏洞
相关厂商: thinksaas.cn
漏洞作者: ′雨。
提交时间: 2014-02-03 17:14
公开时间: 2014-05-04 17:14
漏洞类型: SQL注射漏洞
危害等级: 高
自评Rank: 20
漏洞状态: 厂商已经确认
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 help@wooyun.org
Tags标签: 无
漏洞详情
披露状态:
2014-02-03: 细节已通知厂商并且等待厂商处理中
2014-02-04: 厂商已经确认,细节仅向厂商公开
2014-02-07: 细节向第三方安全合作伙伴开放(绿盟科技、唐朝安全巡航、无声信息)
2014-03-31: 细节向核心白帽子及相关领域专家公开
2014-04-10: 细节向普通白帽子公开
2014-04-20: 细节向实习白帽子公开
2014-05-04: 细节向公众公开
简要描述:
添加标签过滤不严。
详细说明:
今天下了一个thinksaas 最新版, 就看了看
在xfkxfk 爆了一些洞后 还是变安全了一些。 但是还是有很多依旧没过滤。
xfkxfk 爆了app/tag/action/add.php
我看的漏洞文件 app/tag/action/add_ajax.php
做了过滤
function t($text) {
$text = preg_replace ( '/\[.*?\]/is', '', $text );
$text = cleanJs ( $text );
// 彻底过滤空格BY QINIAO
$text = preg_replace ( '/\s(?=\s)/', '', $text );
$text = preg_replace ( '/[\n\r\t]/', ' ', $text );
$text = str_replace ( ' ', ' ', $text );
// $text = str_replace ( ' ', '', $text );
$text = str_replace ( ' ', '', $text );
$text = str_replace ( '&', '', $text );
$text = str_replace ( '=', '', $text );
$text = str_replace ( '-', '', $text );
$text = str_replace ( '#', '', $text );
$text = str_replace ( '%', '', $text );
$text = str_replace ( '!', '', $text );
$text = str_replace ( '@', '', $text );
$text = str_replace ( '^', '', $text );
$text = str_replace ( '*', '', $text );
$text = str_replace ( 'amp;', '', $text );
$text = str_replace ( 'position', '', $text );
$text = strip_tags ( $text );
$text = htmlspecialchars ( $text );
$text = str_replace ( "'", "", $text );
return $text;
}</code>
过滤了单引号 还有各种注释。。
过滤了之后 带入了addTag
可以看到 直接$idname 做key了。
但是key是未过滤的。过滤了value
所以这里function t 过滤了单引号也没什么了 因为可以在key那里注入。
但是过滤了注释 后面这样就行了
objid=123&objname=article&idname=123 union select email from ts_user limit 1,1;a&tags=idname
即可注入。 可以盲注 、延时。
漏洞证明:
修复方案:
但是 xfkxfk 爆的那个漏洞文件后 发布新版本后 你们做了过滤
但是过滤得不好, 会add_ajax 比好绕过。
为了避免和xfkxfk 爆的漏洞文件一样 所以我换了个文件。
加强过滤。
版权声明:转载请注明来源 ′雨。@乌云
漏洞回应
厂商回应:
危害等级:中
漏洞Rank:5
确认时间:2014-02-04 15:34
厂商回复:
感谢支持,已经做了修复。
最新状态:
暂无
漏洞评价:
对本漏洞信息进行评价,以更好的反馈信息的价值,包括信息客观性,内容是否完整以及是否具备学习价值