发现漏洞
在进行漏洞修复之前肯定要确定漏洞是什么?(如注入、XEE、跨站、信息泄露、反序列化等OWASPtop10常见漏洞或支付、验证码、密码修改等逻辑漏洞)。可以通过专业的漏洞扫描工具或者专业的安全服务团队发现漏洞,不同类型的漏洞修复方案不同。如注入、XEE、跨站、反序列化可以通过对输入进行控制也可以通过IPS/IDS,逻辑漏洞则要对逻辑进行重新设计。
确定的漏洞的危害
同样的漏洞对于不同的情况造成的危害也不一样,例如同样是sql注入漏洞,一些公司数据库中存放的是极为重要的敏感数据(如身份证、手机号、账号、密码等),另外一些公司可能只是存放一些无关紧要的数据(如一些新闻消息),那么可以根据实际情况选择是否修复。
确定有那些修复方案及成本
确定是什么漏洞之后那么就能找到相应的修复方案,如下举例说明几种漏洞的修复方案:
sql注入修复方案:
1.使用正则表达式过滤传入的参数.
2.预编译:执行阶段只是把输入串作为数据处理,而不再对sql语句进行解析,准备,因此也就避免了sql注入问题.
3.权限控制:在创建一个SQL数据库的用户帐户时,要遵循最低权限法则。
4.IDS/IPS:从网络层来进行过滤请求,来缓解风险呢
支付逻辑漏洞修复方案:
多重校验如下图:
确定自己Web中漏洞有几种修复方案,每种修复方案的成本及影响。
确定修复方案
根据修复漏洞所需要的成本,不修复漏洞带来的损失、对公司的业务影响、对公司的声誉影响(如果修复成本100万,损失10万完全没有必要修复),选择相应的修复方案或者缓解措施。如重要信息未加密漏洞,如果立即修复对业务影响比较大(如代码需要更改加入加密算法、数据库结构要重新设计、可能第三方对接业务代码也需要更改),可以使用HTTPS协议及其他缓解措施来增加攻击的难度,后续慢慢更改。总之要根据自身的实际情况进行调整。