正则表达式(九)网络安全:检测SQL注入攻击 + 检测XSS跨站脚本 + 扫描敏感信息泄露 + 匹配暴力破解异常IP

整理网络安全类的查询

正则表达式基础语法

元字符

  • . - 匹配任意单个字符(除换行符)
  • \d - 匹配数字
  • \w - 匹配字母、数字、下划线
  • \s - 匹配空白字符
  • ^ - 匹配字符串开始
  • $ - 匹配字符串结束

量词

  • * - 0次或多次
  • + - 1次或多次
  • ? - 0次或1次
  • {n} - 恰好n次
  • {n,} - 至少n次
  • {n,m} - n到m次

字符类

  • [abc] - 匹配a、b或c
  • [a-z] - 匹配a到z的任意字符
  • [^abc] - 匹配除a、b、c外的字符

分组和选择

  • (abc) - 捕获分组
  • (?:abc) - 非捕获分组
  • a|b - 匹配a或b

网络安全类正则表达式查询表格

ID 类别 标题 正则表达式 描述 示例 注意事项
89 网络安全类 检测SQL注入攻击 `(UNION SELECT DROP INSERT
90 网络安全类 检测XSS跨站脚本 `(<script onclick onload onerror
91 网络安全类 扫描敏感信息泄露 `(1[3-9]\d{9} [1-9]\d{5}(19 20)\d{2}((0[1-9]) (1[0-2]))(([0-2][1-9])
92 网络安全类 匹配暴力破解异常IP (\d+\.\d+\.\d+\.\d+)\s+Failed password 匹配登录失败的IP地址 192.168.1.1 Failed password for root → 提取IP:192.168.1.1 1. IP地址格式验证不严格 2. 依赖特定的日志格式 3. 可能匹配到非恶意失败

常见错误及避免方法

1. SQL注入检测的局限性

问题:当前正则表达式过于简单,容易被绕过

regex 复制代码
// 当前写法
(UNION|SELECT|DROP|INSERT|DELETE|UPDATE|ALTER|EXEC)\s+

// 改进建议
(?i)(union\s+select|drop\s+table|insert\s+into|delete\s+from)

2. XSS检测的不足

问题:无法检测大小写变种和编码绕过

regex 复制代码
// 当前写法
(<script|onclick|onload|onerror|javascript:)

// 改进建议
(?i)(<script|onclick|onload|onerror|javascript:|&#x)

3. 敏感信息匹配的精度问题

问题:身份证和银行卡验证不够精确

regex 复制代码
// 改进的身份证验证(更精确)
[1-9]\d{5}(19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dXx]

// 改进的银行卡验证(更合理)
\d{16,19}(?=\D|$)

4. IP地址匹配的改进

问题:当前匹配可能匹配到非IP地址

regex 复制代码
// 当前写法
(\d+\.\d+\.\d+\.\d+)

// 改进建议
\b(?:[0-9]{1,3}\.){3}[0-9]{1,3}\b

最佳实践建议

  1. 始终使用忽略大小写标志(?i)或对应编程语言的忽略大小写选项
  2. 添加单词边界 :使用\b避免部分匹配
  3. 考虑性能优化:避免过度复杂的正则表达式
  4. 结合其他验证:正则表达式应作为第一层过滤,结合业务逻辑验证
  5. 定期更新规则:根据新的攻击手法更新检测规则

这些正则表达式在实际应用中需要根据具体场景进行调整和优化,建议配合专业的WAF(Web应用防火墙)使用。

我用代码做了一个正则表达式查询库,可以查询100种典型应用,也可以验证和测试你的代码,可以点击直接下载:

正则表达式查询库 覆盖数据验证、文本提取/清洗、开发调试、日志分析、网络安全等数十个领域的100种正则表达式应用场景



正则表达式查询库 覆盖数据验证、文本提取/清洗、开发调试、日志分析、网络安全等数十个领域的100种正则表达式应用场景

相关推荐
weixin_514253184 小时前
428-uitars tmux
安全·web安全
Irene19917 小时前
大数据开发语境下,SQL 模式名,映射关系 - - 概念理解
大数据·数据库·sql
ffqws_11 小时前
MyBatis 动态 SQL 详解:从原理到实战
java·sql·mybatis
其实防守也摸鱼12 小时前
《SQL注入进阶实验:基于sqli-Labs的报错注入(Error-Based Injection)实战解析》
网络·数据库·sql·安全·网络安全·sql注入·报错注入
juniperhan12 小时前
Flink 系列第20篇:Flink SQL 语法全解:从 DDL 到 DML,窗口、聚合、列转行一网打尽
大数据·数据仓库·分布式·sql·flink
介一安全12 小时前
【Web安全】Blind XSS漏洞:从挖掘到防御
安全·web安全·xss
YaBingSec13 小时前
玄机网络安全靶场:Jackson-databind 反序列化漏洞(CVE-2017-7525)
linux·网络·笔记·安全·web安全
Gauss松鼠会13 小时前
GaussDB数据库统计信息自动收集机制
数据库·经验分享·sql·oracle·gaussdb
TechWayfarer14 小时前
网络安全溯源实战:78.1%网络攻击来自境外,如何精准定位攻击源
网络·安全·web安全
视觉&物联智能14 小时前
【杂谈】-人工智能于现代网络安全运营的价值持续攀升
人工智能·安全·web安全·ai·chatgpt·agi·deepseek