漏洞披露是安全服务工作的日常内容之一,常见漏洞扫描和渗透测试两种方式,完整的工作流程还包括了后续的复核以及提供漏洞整改建议,这篇文章给大家分享一下up在漏洞修复上的一些经验和容易遇到的问题,希望能对师傅们有所帮助。
- 漏洞修复流程
①确定漏洞类型
这里不是指漏洞具体名称,而是确认漏洞发生的位置,确定是代码层面的缺陷、框架漏洞还是逻辑漏洞等等,因为不一定是系统运维人员能掌控的,需要在开始时就确认好。
②提出建议or指导系统管理员修复漏洞。具体情况具体分析下面会提到。
③进行漏洞复核确认是否已经修复,根据先前测试的方法选择同样的方式进行复核,扫描器就重扫,渗透的就手工测试一遍。
- 漏洞修复方法
这里up会给出自己的方法,进行分类讨论,根据不同分类的漏洞给出不同的整改方法。
①操作系统漏洞、中间件漏洞、数据库漏洞三大金刚
常见ssh类漏洞、解析漏洞、redis再加个永恒之蓝太耳熟能详了,也是最最最容易被漏扫扫描出来的漏洞(因为扫描器都是扫端口),统一——找官方拿补丁,去官网扒,绝对都有的,甚至都贴心的附上了修复文档。这一类里有部分漏洞是可以通过修改配置文件修复的,一般是因为配置不当造成的。
②代码层面漏洞
传参不规范、过滤不严格等问题,最多的就是各类注入漏洞,sql注入、xss、xxe等,有厂家就找厂家改,自己开发的就重新看一遍传参,多写点过滤函数、检查规则,再不行就是上安全设备,waf、IPS都是有效的解决方案;至于代码逻辑漏洞,em既然能发现漏洞一般也知道原因、知道怎么改掉出问题的地方了,具体问题具体分析吧;其他类型的代码层面漏洞基本都是编写不规范引起的,一般已有的漏洞99.99%都已有修复方案或者补丁、更新大版本替代等(不然漏扫也扫不出来,渗透的就当我没说),最坏的打算大不了就是重构逻辑、重新梳理甚至重新写一遍这段,但现在大部分客户现场都是外包代码(跟up一样是个外包),丢给厂家解决就好。
③未授权漏洞
未授权单独拎出来讲是因为这类漏洞常见且危害之大,都是人为造成的,首先明确一点大部分非网络安全技术人员的网络安全意识不足是肯定的,常见的redis未授权、Hadoop未授权,xxx系统后台未授权访问等等,很好修复,十二真言:加验证、堵端口、封路径、白名单,总有一款适合你。
④框架漏洞、产品漏洞
这类也是大头,shiro反序列化、各大oa漏洞、cms漏洞等我都放在这类里,没啥好说的,找官方,更新更新更新、补丁补丁补丁,至今fofa上一搜还是有很多小厂连2016年的漏洞还未修复的,连个补丁都不舍得打...来个小孩哥看看漏洞exp都能直接给他打进去,慎重!
⑤弱口令
最惹人爱的漏洞,必须有姓名,红队乐开花蓝队滚回家,就是这么一类漏洞却有着最简单的解决方式,改复杂点。能在hvv和各大演练前单独排查一遍的漏洞类型,第一了!
⑥其他类
为啥有个其他类呢,常做漏扫的师傅都知道以上的类型已经是绝大部分了,保不齐确实有个把漏洞极小概率出现,这种其实往往不会有威胁太大(经验之谈,但请理性按情况分析!),往往误报的可能性较大,漏扫嘛,像个喋喋不休的老人,虽事事必细纠,但未免太草木皆兵,师傅们按情况处理就好。
- 特殊情况
漏洞修复往往是客户公司上级或高层领导的硬性要求,deadline可能较短,也会有一些漏洞短时间内无法修复,或者完全修复后影响业务运行,这里就需要一些骚操作啦!乖孩子捂着耳朵看嗷。
!!!事先声明,以下操作仅仅是作为技术分享,请师傅们按实际情况进行安全操作,任何不经思考而照抄的弱智行为与up本人无关!!!
①骚操作之堵端口
因为复核的时候是针对原扫描出漏洞的端口进行复扫(除非有特别需求不然不可能全端口再扫一遍的),这就有了一定的缓和余地,正常来说临时堵上端口就行了(请一定要先和安全负责人进行报备确认,正常来说只是因为时间差和数据的好看两个要求而不得已的下下策,请勿弱智无脑进行!)。
②骚操作之拉黑扫描器
师傅们懂的都懂,不好深说了。
- 总结
漏洞修复是确保安全的重要工作,虽然up写了一些骚操作给大家微微参考,但仅仅作为紧急处理的缓兵之计,过后该修复修复,该下线下线,今天依旧是很安全的一天呢。