一种源代码中易受攻击的正则表达式的检测方法技术

技术编号:37506475 阅读:23 留言:0更新日期:2023-05-07 09:43
本发明专利技术涉及源代码检测技术领域,特别涉及一种源代码中易受攻击的正则表达式的检测方法。步骤一、在环境中导入所有正则表达式的库文件myregexes.txt,只导入库文件中自动编译的正则表达式;步骤二、使用正则表达式列表进行正则开发,通过标准输入正则表达regexploit传入正则参数,通过cat myregexes.txt|regexploit库文件提取正则表达式;启动参数AST解析源代码,查找正则表达式,然后对ReDoS分析正则表达式;步骤三、使用捆绑的NodeJS包将JavaScript解析为AST并打印出所有正则表达式,这些正则表达式被输入到python ReDoS查找器中;步骤四、通过命令运行工具。本发明专利技术提供了一种源代码中失陷正则表达式检测方法,以助于开放者节省源代码审计时间规避安全风险。开放者节省源代码审计时间规避安全风险。开放者节省源代码审计时间规避安全风险。

【技术实现步骤摘要】
一种源代码中易受攻击的正则表达式的检测方法


[0001]本专利技术涉及源代码检测
,特别涉及一种源代码中易受攻击的正则表达式的检测方法。

技术介绍

[0002]随着越来越多的开发人员使用了正则表达式来对用户输入的数据进行有效性校验,当编写校验的正则表达式存在缺陷或者不严谨时,攻击者可以构造特殊的字符串来大量消耗服务器的系统资源,造成服务器的服务中断或停止。
[0003]许多默认的正则表达式解析器具有无限的最坏情况复杂性。当呈现匹配的输入字符串时,正则表达式匹配可能会很快。但是,某些不匹配的输入字符串会使正则表达式匹配器进入疯狂的回溯循环,并且需要很长时间来处理。这可能会导致拒绝服务,因为CPU将卡住尝试匹配的正则表达式。
[0004]例如正则表达式/(a+)+z/.test('aaaaab')浏览器很快给出结果false,如果正则表达式为/(a+)+z/.test('aaaaaaaaaaaaaaaaaaaaaaaa

)浏览器也许半小时都出不来结果,且观察cpu处于高占用率状态,同时浏览器当前Tab页无任本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种源代码中易受攻击的正则表达式的检测方法,其特征在于,包括以下步骤:步骤一、在环境中导入所有正则表达式的库文件myregexes.txt,只导入库文件中自动编译的正则表达式步骤二、使用正则表达式列表进行正则开发,通过标准输入正则表达regexploit传入正则参数,通过cat myregexes.txt|regexploit库文件提取正则表达式;启动参数AST解析源代码,查找正则表达式,然后对ReDoS分析正则表达式;步骤三、使用捆绑的NodeJS包将JavaScript解析为AST并打印出所有正则表达式,这些正则表达式被输入到python ReDoS查找器中;步骤四、通过命令运行工具。2.根据权利要求1所...

【专利技术属性】
技术研发人员:段孟松孙江兵
申请(专利权)人:贵州多彩网安科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1