分析
就依据题意构造一个符合题意的能够匹配的字符串
解题
要匹配的pattern为/key.*key.{4,7}key:\/.\/(.*key)[a-z][[:punct:]]/i
构造payload http://123.206.87.240:8002/web10/?id=keyykeyyyyykey:///1keya.
即得key
新姿势
1、preg_match()函数即正则表达式匹配函数
- 语法:preg_match( string pattern, string subject [, array matches ] )
- string pattern 为正则pattern
- string subject 为需要被匹配检索的对象
- array matches 为存储匹配结果的数组,
$matches[0]
将包含与整个模式匹配的文本,$matches[1]
将包含与第一个捕获的括号中的子模式所匹配的文本,以此类推
2、trim()函数 移除字符串两侧的空白字符或其他预定义字符
- 语法:trim(string,charlist)
- string 必选,规定要检查的字符串
- charlist 可选,规定从字符串中删除哪些字符。如果被省略,则移除以下所有字符:
“\0” - NULL
“\t” - 制表符
“\n” - 换行
“\x0B” - 垂直制表符
“\r” - 回车
" " - 空格
3、正则表达式:
- [[:punct:]] 任意匹配一个标点符号
- /i 匹配不区分大小写