继续对Fortify的漏洞进行总结,本篇主要针对  Denial of Service: Regular Expression  漏洞进行总结,如下:

1、Denial of Service: Regular Expression

1.1、产生原因:

  实施正则表达式评估程序及相关方法时存在漏洞,该漏洞会导致评估线程在处理嵌套和重复的正则表达式组的重复和交替重叠时挂起。此缺陷可被攻击者用于执行拒绝服务 (DoS) 攻击。

示例:

(e+)+

([a-zA-Z]+)*

(e|ee)+

已知的正则表达式实现方法均无法避免这种攻击。所有平台和语言都容易受到这种攻击。

1.2、修复方案:

请不要将不可信赖的数据用作正则表达式。

实际修复方案:

 

在有正则表达式的地方调用下面提供的公共表达式过滤方法。

提供的公共的表达式过滤方法。(根据实际业务需求选择过滤的符号)

1.3、预防该漏洞的开发规范:

  1、对有使用正则表达式的地方应该进行公共过滤方法的调用。

Fortify漏洞之Denial of Service: Regular Expression的更多相关文章

  1. Slow HTTP Denial of Service Attack漏洞整改方法

    前期现场反馈系统扫描出Slow HTTP Denial of Service Attack漏洞,根据以往经验提供了更改建议,居然没有生效,深入研究了一下WebLogic下该漏洞的修复方法,现记录如下: ...

  2. Slow HTTP Denial of Service Attack 漏洞解决办法

    编辑 删除 问题名称: Slow HTTP Denial of Service Attack 问题URL http://10.238.*.*:58*** 风险等级: 高 问题类型: 服务器配置类 漏洞 ...

  3. Fortify漏洞之Portability Flaw: File Separator 和 Poor Error Handling: Return Inside Finally

    继续对Fortify的漏洞进行总结,本篇主要针对 Portability Flaw: File Separator 和  Poor Error Handling: Return Inside Fina ...

  4. Slow HTTP Denial of Service Attack

    整改建议 1.中断使用URL不支持HTTP方法访问的会话 2.限制HTTP头及包长至一个合理数值 3.设置一个绝对的会话超时时间 4.服务器支持backlog的情况下,需设置一个合理的大小 5.设置一 ...

  5. DDoS(Distributed Denial of Service,分布式拒绝服务)

    DDoS:Distributed Denial of Service,即分布式拒绝服务攻击. 借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DDoS攻击,从而成倍地提高 ...

  6. Identifying a distributed denial of service (DDOS) attack within a network and defending against such an attack

    The invention provides methods, apparatus and systems for detecting distributed denial of service (D ...

  7. [LeetCode] Regular Expression Matching 正则表达式匹配

    Implement regular expression matching with support for '.' and '*'. '.' Matches any single character ...

  8. myeclipse中导入js报如下错误Syntax error on token "Invalid Regular Expression Options", no accurate correc

    今天在使用bootstrap的时候引入的js文件出现错误Syntax error on token "Invalid Regular Expression Options", no ...

  9. [LeetCode] 10. Regular Expression Matching

    Implement regular expression matching with support for '.' and '*'. DP: public class Solution { publ ...

随机推荐

  1. jdbc调用存储过程获取多个结果集

    jdbc调用存储过程获取多个结果集 2017年07月26日 21:20:22 Kenny-Liu 阅读数:1486 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.cs ...

  2. LC 968. Binary Tree Cameras

    Given a binary tree, we install cameras on the nodes of the tree. Each camera at a node can monitor  ...

  3. 时间工具类DateUtil

    import java.sql.Timestamp; import java.text.ParseException; import java.text.SimpleDateFormat; impor ...

  4. Centos7.3使用脚本自动静默安装oracle11.2.0.4数据库

    一直想着写一个脚本实现自动化安装oracle数据库.以下内容实验过几次了,可能还存在些小问题,如果在跑以下脚本中遇到问题,自己仔细排查即可 挣扎了好久,总算还是没实现,目前只能通过依次执行多个脚本来安 ...

  5. WebViewJavascriptBridge js跟app的交互框架

    https://github.com/marcuswestin/WebViewJavascriptBridge 参考: https://www.cnblogs.com/LiLihongqiang/p/ ...

  6. [LeetCode] 278. First Bad Version 第一个坏版本

    You are a product manager and currently leading a team to develop a new product. Unfortunately, the ...

  7. 为什么选择.NETCore

     为什么选择.NETCore? 学习新的开发框架是一项巨大的投资.您需要学习如何在新框架中编写,构建,测试,部署和维护应用程序.作为开发人员,有许多框架可供选择,很难知道什么是最适合的.即使您正在使用 ...

  8. 【视频开发】 ffmpeg支持的硬解码接口

    To enable DXVA2, use the --enable-dxva2 ffmpeg configure switch. To test decoding, use the following ...

  9. Electron-Vue使用element-ui el-table不显示/卡死

    我们需要把element-ui加入到.electron-vue/webpack.renderer.config.js文件中的白名单里面 在这句话let whiteListedModules = ['v ...

  10. GraphQL简介

    原文地址 https://flaviocopes.com/graphql/ 中译文地址 什么是GraphQL GraphQL的原则 GraphQL vs REST Rest是一个概念 单个端点 根据你 ...