浅析ReDoS的原理与实践

ReDoS(Regular expression Denial of Service) 正则表达式拒绝服务攻击。开发人员使用了正则表达式来对用户输入的数据进行有效性校验, 当编写校验的正则表达式存在缺陷或者不严谨时, 攻击者可以构造特殊的字符串来大量消耗服务器的系统资源,造成服务器的服务中断或停止。


Java常用正则工具类

/** * 验证手机号是否合法 * * @param mobiles * 手机号码 * @return */public static boolean isMobileNO(String mobiles) {Pattern p = Pattern.compile("