###2.4.4 正则工具
正则表达式是用自定义好的特定字符组合,在正则解析引擎内进行字符匹配。正则 表达式有非常强的灵活性,在很多不同的场景都会用到正则表达式,比如验证注册用 户名、邮箱等格式是否合格,再比如用来搜索文件内容,很大一部分的WAF (Web应 用防火墙)的规则也是基于正则表达式,等等,可谓无处不在,然而如果正则表达式写得不严谨,就经常会导致各种bug出现,像防火墙被绕过,等等。
首先要熟悉正则表达式的用法,熟悉各个符号的含义,这样我们才能写出严谨的正则表达式,才能在代码审计中发现别人正则表达式的问题所在。
我就不在这里详细的介绍正则表达式的详细用法,网上可以找到很多关于正则表达式的详细教程,这里仅介绍几个常用的正则表达式调试工具。
1. Seay代码审计系统中自带的正则调试功能
在Seay代码审计系统的菜单栏点击“正则编码”项,即可看到正则调试功能的主 界面,它支持正则实时预览,即你在输入框修改正则表达式或者要匹配的源字符的时 候,调试的结果会实时显示在下方的信息栏中,除了实时调试,它还支持实时解码调试,一些特殊字符我们无法在输入框输入,但 是可以利用编码处理后输入,只要设置解码选项,程序在用正则匹配前会先将源字符 进行指定的编码转换后在进入正则引擎匹配,目前支持URL编码、Base64编码以及 Hex编码,非常的直观和方便效果图如图2-4-4-1所示。

图2-4-4-1
2.灵者正则调试
这是一款从RenGod (灵者更名)中提取出来的绿色版正则调试工具,单文件的大 小只有400多K,支持正则搜索、正则替换,也同样支持实时预览,在正则性能上也 做的相当不错。
这款工具使用起来也非常简单,比如正则搜索功能的使用,将要搜索的文本放入到 “要搜索的文本”输入框中,在“正则表达式”输入框中输入正则表达式,即可实时的 在下方看到匹配上的结果。
如图2-4-4-2所示是它的主界面。

图2-4-4-2
更新时间:2023-04-12 16:17