分享

记一次乌云团队漏洞应急响应的全过程

 victor1208 2016-01-19

今日乌云君有机会进行了一次完整的安全事件应急,感觉其中一些思路过程可以给大家分享,在今后遇到类似的情况后也可以及时作出响应与修复工作。能够对企业安全有价值的内容,乌云君都愿慷慨解囊。

事情开始

今日下午14点,网传乌云某重要站点存在安全漏洞,可能导致泄密,并给出一些截图

漏洞定位过程

通过图片马上可以确定这是个SQL注射漏洞,这个工具(sqlmap)会留下大量可迅速识别的特征log,加上对业务的数据结构了解,马上定位到项目log进行排查。

在日志中内部已经发现 SQL 注入点,通过在日志中根据 sqlmap union 等关键字也定位到注入点为,存在漏洞的参数为 endMonth:

http://zone./index.php?do=contribute&act=list&endMonth=2016-01

对 2016.1.19 号当天的日志(过滤出所有的 endMonth)进行分析,梳理如下

2016.1.19 10:26:30 通过 endMonth=2016-01' AND SLEEP(5) AND 'sUQB'='sUQB 语句对 endMonth 进行 SQL 注入测试。

然后通过伙伴手工输入一些经典表达式进行判断,发现漏洞确实存在。

http://zone./index.php?do=contribute&act=list&endMonth=2016-01' and 'a'='a

http://zone./index.php?do=contribute&act=list&endMonth=2016-01' and 'a'='b

一些漏洞利用log片段

漏洞修复

漏洞已经非常明确,出在乌云社区新上线的“贡献榜”功能,属于字符型SQL注射漏洞。乌云的研发团队立刻对这个文件的 endMonth 的参数进行了字符型SQL注射的修复处理,即过滤单引号,同时限制 endMonth 参数只能为“年份-月份”的形态。从定位漏洞到修复漏洞,只用了5分钟时间

此时也有乌云白帽子发现并提交了这个安全漏洞(漏洞编号:WooYun-2016-171108),但由于乌云主站受到了严重的DDOS攻击,导致无法处理漏洞。在访问恢复后我们及时对漏洞进行了确认并立刻公开漏洞细节,让大家看到乌云的这个注射技术细节与位置。

后续影响分析

一次可靠的安全事件分析,不仅局限于漏洞的定位与修复,还要明确漏洞的影响范围。经过后面分析,大致明确了可能被读取的信息都有哪些。社区的这个数据库存放的是社区用户互动信息,如:昵称、登录名、头像、好友/帖子关注情况等,因乌云漏洞报告平台的数据与社区是独立存储的,所以并没有影响到任何乌云的漏洞细节与白帽账号密码。

通过对攻击log的分析,主要集中在以下三个表的数据读取

oc_session(社区用户板块阅读权限) 

oc_user_like(用户关注关系) 

oc_user_user(加密后的用户社区交互信息:昵称、头像、加入板块、加入时间)

剩余log为测试 SQL 注入,获取数据库表名,字段名,部分表数据的语句。

最后从今日时间点推到功能上线时间,未发现有对对该漏洞的恶意利用,均为常规化漏洞扫描探测行为。

结束

至此,整个安全事件分析完毕,漏洞成功定位并修复,并对可能泄露的信息有了了解,均为一些公开性质的非敏感数据。最后乌云漏洞报告平台也欢迎互联网各界伙伴帮忙发现种种问题,我们均会虚心学习与积极改进:)

乌云漏洞报告平台应急团队

2016-01-19

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多