正则表达式密码策略与正则回溯机制绕过

本文介绍了正则表达式的基础知识,包括字符匹配、次数配置和位置锚定。讨论了如何在靶场环境中应用正则表达式进行登录验证、SQL注入的绕过策略,特别是针对'from'关键字的正则限制。提出了利用科学计数法(如1e1)作为注入手段来绕过匹配条件。此外,文章还探讨了PHP的正则回溯机制,利用1000000次回溯限制来实现绕过,提供了一种通过发送大量请求的方法来规避限制。
摘要由CSDN通过智能技术生成

一、正则表达式

1.正在表达式基本表达式

1.匹配字符:

格式

表达式 作用
. 匹配任意单个字符,不能匹配空行
[] 匹配指定范围内的任意单个字符
[^] 取反
[:alnum:] 或 [0-9a-zA-Z] 匹配范围0-9 a-z A-Z
[:alpha:] 或 [a-zA-Z] 匹配范围 a-z A-Z
[:upper:] 或 [A-Z] 匹配范围 A-Z
[:lower:] 或 [a-z] 匹配范围 a-z
[:blank:] 空白字符(空格和制表符)
[:space:] 水平和垂直的空白字符(比[:blank:]包含的范围广)
[:cntrl:] 不可打印的控制字符(退格、删除、警铃…)
[:digit:] 十进制数字 或[0-9]
[:xdigit:] 十六进制数字
[:graph:] 可打印的非空白字符
[:print:] 可打印字符
[:punct:] 标点符号

2.配置次数

格式

1. * 匹配前面的字符任意次,包括0次,贪婪模式:尽可能长的匹配
2. .* 任意前面长度的任意字符,不包括0次
3. \? 匹配其前面的字符0 或 1次
4. + 匹配其前面的字符至少1次
5. {n} 匹配前面的字符n次
6. {m,n} 匹配前面的字符至少m 次,至多n次
7. {,n} 匹配前面的字符至多n次
8. {n,} 匹配前面的字符至少n次

3.组和后向引用

格式

① 分组:() 将一个或多个字符捆绑在一起,当作一个整体进行处理
		
	分组括号中的模式匹配到的内容会被正则表达式引擎记录于内部的变量中,这些变量的命名方式为: \1, \2, \3, ...
		
② 后向引用
		
		
引用前面的分组括号中的模式所匹配字符,而非模式本身
		
\1 表示从左侧起第一个左括号以及与之匹配右括号之间的模式所匹配到的字符
		
\2 表示从左侧起第2个左括号以及与之匹配右括号之间的模式所匹配到的字符,以此类推
		
\& 表示前面的分组中所有字符

2.扩展正则表达式

1)字符匹配:

• . 任意单个字符
• [] 指定范围的字符
• [^] 不在指定范围的字符

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值