2.3.4 正则调试工具
正则表达式是用自定义好的特定字符组合,在正则解析引擎内进行字符匹配。正则表达式有非常强的灵活性,在很多不同的场景都会用到正则表达式,比如验证注册用户名、邮箱等格式是否合格,再比如用来搜索文件内容,很大一部分的 WAF(Web 应用防火墙)的规则也是基于正则表达式,等等,可谓无处不在,然而如果正则表达式写得不严谨,就经常会导致各种 bug 出现,像防火墙被绕过,等等。
首先要熟悉正则表达式的用法,熟悉各个符号的含义,这样我们才能写出严谨的正则表达式,才能在代码审计中发现别人正则表达式的问题所在。
笔者就不在这里详细的介绍正则表达式的详细用法,网上可以找到很多关于正则表达式的详细教程,这里仅介绍几个常用的正则表达式调试工具。
1.Seay 代码审计系统中自带的正则调试功能
在 Seay 代码审计系统的菜单栏点击“正则编码”项,即可看到正则调试功能的主界面,它支持正则实时预览,即你在输入框修改正则表达式或者要匹配的源字符的时候,调试的结果会实时显示在下方的信息栏中,非常的直观和方便。效果图如图 2-32 所示。
图 2-32
除了实时调试,它还支持实时解码调试,一些特殊字符我们无法在输入框输入,但是可以利用编码处理后输入,只要设置解码选项,程序在用正则匹配前会先将源字符进行指定的编码转换后在进入正则引擎匹配,目前支持 URL 编码、Base64 编码以及 Hex 编码,使用效果如图 2-33 所示。
图 2-33
2.灵者正则调试
这是一款从 RenGod(灵者更名)中提取出来的绿色版正则调试工具,单文件的大小只有 400 多 K,支持正则搜索、正则替换,也同样支持实时预览,在正则性能上也做的相当不错。如图 2-34 所示是它的主界面。
这款工具使用起来也非常简单,比如正则搜索功能的使用,将要搜索的文本放入到“要搜索的文本”输入框中,在“正则表达式”输入框中输入正则表达式,即可实时的在下方看到匹配上的结果。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论