漏洞概要
关注数(15)
关注此漏洞
漏洞标题: ThinkSNS某处二次注入Bypass防御获取任意数据
提交时间: 2014-10-18 08:09
公开时间: 2014-12-30 14:44
漏洞类型: SQL注射漏洞
危害等级: 高
自评Rank: 20
漏洞状态:
漏洞已经通知厂商但是厂商忽略漏洞
漏洞详情
披露状态:
2014-10-18: 细节已通知厂商并且等待厂商处理中
2014-10-23: 厂商主动忽略漏洞,细节向第三方安全合作伙伴开放(绿盟科技、唐朝安全巡航、无声信息)
2014-12-17: 细节向核心白帽子及相关领域专家公开
2014-12-27: 细节向普通白帽子公开
2015-01-06: 细节向实习白帽子公开
2014-12-30: 细节向公众公开
简要描述:
ThinkSNS某处二次注入Bypass防御获取任意数据
详细说明:
第一部分:漏洞分析
文件/apps/public/Lib/Action/AccountAction.class.php
此时attach_ids已经进入数据库了
下面来看看出库的地方
可以看到,取出attach_id后,通过|分割,然后再次计入了数据库
这里没有引号保护,导致sql注入
所以只要我们在attach_id插入恶意数据即可二次触发
第二部分:bypass绕过分析
来看看t函数是否能绕过
/core/OpenSociax/functions.inc.php
这里有一个real_strip_tags函数来看看
这里将html过滤掉了
综上,当恶意sql语句进入t时,首先将html标签过滤,然后进入addslashes
那么我们在sql关键字中插入html标签即可绕过全局防御了
如select=se<a>lect,这样绕过了全局,最后又变成了select,成功绕过
漏洞证明:
1、前台登陆,在个人信息处,申请认证
2、然后提交时,抓包,将attach_ids修改为:
请求如下:
3、然后回到第1步:
访问
此时在认证附件处显示管理员账户信息:
当然如果条件满足的话直接GetShell也是ok的
修复方案:
1、where后面的条件为嘛不加保护咧?
2、防御逻辑出错了
漏洞回应
厂商回应:
危害等级:无影响厂商忽略
忽略时间:2014-12-30 14:44
厂商回复:
最新状态:
暂无
漏洞评价:
对本漏洞信息进行评价,以更好的反馈信息的价值,包括信息客观性,内容是否完整以及是否具备学习价值
漏洞评价(共0人评价):
评价
-
2014-10-18 17:37 |
老和尚
( 普通白帽子 |
Rank:223 漏洞数:45 )
1
http://loudong.360.cn/vul/info/id/26385
在这里获得了3000元。还提啊
-
2014-10-18 17:47 |
kill
( 路人 |
Rank:4 漏洞数:5 | >-<)
0
-
2014-10-20 11:01 |
xfkxfk
( 核心白帽子 |
Rank:2313 漏洞数:351 | 呵呵!)
0
-
2014-10-23 21:19 |
phith0n
( 普通白帽子 |
Rank:816 漏洞数:126 | 一个想当文人的黑客~)
1
@xfkxfk 那个可能是我之前提交的http://wooyun.org/bugs/wooyun-2010-079186,我这个是文件包含getshell的
-
2014-10-24 09:09 |
xfkxfk
( 核心白帽子 |
Rank:2313 漏洞数:351 | 呵呵!)
1
-
2014-10-24 10:58 |
phith0n
( 普通白帽子 |
Rank:816 漏洞数:126 | 一个想当文人的黑客~)
0