继续对Fortify的漏洞进行总结,本篇主要针对 Denial of Service: Regular Expression 漏洞进行总结,以下:正则表达式
一、Denial of Service: Regular Expression
1.一、产生缘由:
实施正则表达式评估程序及相关方法时存在漏洞,该漏洞会致使评估线程在处理嵌套和重复的正则表达式组的重复和交替重叠时挂起。此缺陷可被攻击者用于执行拒绝服务 (DoS) 攻击。spa
示例:线程
(e+)+blog
([a-zA-Z]+)*开发
(e|ee)+io
已知的正则表达式实现方法均没法避免这种攻击。全部平台和语言都容易受到这种攻击。class
1.二、修复方案:
请不要将不可信赖的数据用做正则表达式。开发规范
实际修复方案:程序
在有正则表达式的地方调用下面提供的公共表达式过滤方法。方法
提供的公共的表达式过滤方法。(根据实际业务需求选择过滤的符号)
1.三、预防该漏洞的开发规范:
一、对有使用正则表达式的地方应该进行公共过滤方法的调用。