文章总结: 本文以OSCP认证后的蓝队实战为背景,强调正则表达式在网络安全中的关键作用,可作为IDS/WAF规则编写、流量过滤和日志分析的核心工具。文章系统讲解了元字符、量词、边界控制等基础语法,并提供手机号、IP、URL等实战表达式示例,同时警示ReDoS风险和转义注意事项。 综合评分: 87 文章分类: 安全工具,WEB安全,安全运营,实战经验,安全意识
从 OSCP 考完到“蓝队实战”:我为什么建议你重学正则表达式?
原创
SKillLab SKillLab
SkillLab
2026年4月22日 16:10 北京
在小说阅读器读本章
去阅读
本文内容仅用于 OSCP 备考交流
互联网不是法外之地,请严格遵守《网络安全法》
从OSCP考完到现在已经过去半个月了,突然闲下来后感觉空荡荡的,在21世纪的今天,AI时代纵横交错,各种新鲜技术层出不穷,AI能极大地提升生产力,但它绝非网络安全的全部,更不能成为从业者的唯一依赖。我相信学习“传统技术+AI赋能”是大势所趋,只有深入技术底层原理,才能让我们更好的运用AI赋能提高生产力,AI可以用但不能依赖。接下来,我将以OSCP的实战经验为基石,重点深耕蓝队技能,将技术做精做深。
在日常工作中,正则表达式(Regex)绝不仅仅是一个语法工具,它是决定你能否从海量杂乱数据中瞬间锁定威胁的“探测雷达”。
无论是在IDS/WAF等安全设备中检测规则的编写、Wireshark实时流量的精准过滤,还是在溯源研判时的日志内容快速提取,正则表达式都扮演着核心角色。掌握它,意味着你能将原本需要数小时的肉眼审计,转化为秒级的自动化过滤。
在蓝队实战中,无论是从海量的WAF日志中捞取恶意Payload,还是在Webshell检测中扫描可疑函数,亦或是通过Wireshark过滤特定流量,正则表达式(Regex)都是不可或缺的“瑞士军刀”。
01
核心基础:元字符与字符集
元字符是正则的灵魂,蓝队在分析SQL注入或目录遍历时,经常需要识别这些符号。
| | | | | | — | — | — | — | | 类别 | 符号 | 描述 | 蓝队实战场景 | | 基础通配 | . | 匹配除换行符外的任意字符 | shell.*php匹配包含 shell 和 php 的任意请求 | | 数字匹配 | \d | 匹配数字[0-9] | 匹配特定端口或攻击者尝试的数值参数 | | 非数字匹配 | \D | 匹配非数字 | 过滤掉纯数字干扰,提取非数字混淆特征 | | 单词/数字 | \w | 匹配字母、数字、下划线 | 匹配 PHP/JSP 中的变量名或函数名 | | 非单词字符 | \W | 匹配标点、符号等 | 【重要】识别 SQL 注入中的特殊符号(如’,–,#) | | 空白字符 | \s | 匹配空格、换行、制表符 | 识别利用%0a(换行)或%0d绕过的 Payload | | 非空白字符 | \S | 匹配任何非空白字符 | 提取 URL 中的连续参数字符串 | | 单词边界 | \b | 匹配单词开始或结束的位置 | 【防误报】精准锁定eval而非evaluate | | 非单词边界 | \B | 匹配单词内部的位置 | 在混淆的代码块内部寻找特定字符串片段 |
字符集合技巧:
-
[abc]:匹配a、b或c中的任意一个。
-
[^abc]:匹配不在集合中的字符。在对抗黑名单过滤时,了解排除逻辑非常重要。
-
[a-z]/[0-9]:常用的范围缩写。
02
进阶:量词与边界控制
量词决定了匹配的“深度”,而锚点则限定了匹配的“位置”。
1.数量控制(量词)
-
*:0次或多次(可能导致ReDoS风险,需谨慎)。
-
+:1次或多次。
-
?:0次或1次(常用于匹配http或https)。
-
{n,m}:匹配n n 到m m 次。如匹配MD5值:
[a-fA-F0-9]{32}。
2.位置锁定(锚点)
- ^:匹配字符串开头。
- :匹配字符串结尾。
注意:在多行模式m下,它们可以匹配每一行的开头和结尾。
03
避坑指南:贪婪与非贪婪
初学者最容易出错的地方,也是安全审计中精准定位的关键。
- 贪婪模式(默认):尽可能多地匹配。
- 非贪婪模式(量词后加 ?):尽可能少地匹配。
举例:对于字符串<script>alert(1)</script>
贪婪匹配`<.*>`会匹配整个字符串。- 非贪婪匹配 <.*?> 仅匹配 -->









评论