1.结果:
<?php
$key='flag{********************************}';
$Regular= preg_match("/zkaq.*key.{2,9}:\/.*\/(key*key)/i", trim($_GET["id"]), $match);
if( $Regular ){
die('key: '.$key);
}
key: flag{regular_god_code}
preg_match("/zkaq.*key.{2,9}:\/.*\/(key*key)/i", trim($_GET["id"]), $match);
trim[]
:去除[]字符串两侧的空白字符或其他预定义字符(&,<,>,",’)
$_GET("id")
:将url里id的值变为字符串
preg_match
:用 trim($_GET[“id”]) 匹配 /zkaq.key.{2,9}:\ /./(keykey)/i`*
/zkaq.*key.{2,9}:\/.*\/(key*key)/i
:/是正则表达式的分隔符 i表示不区分大小写直接去除即可
/zkaq.*key.{2,9}:\/.*\/(key*key)/i
→zkaq.*key.{2,9}:\/.*\/(key*key)
.* :匹配任意字符(不包括\n)0~无数次
.{2,9}:匹配任意字符(不包括\n)2~9次
\:输出/
(key*key): 匹配key(y 0~无数次)key
则:写出答案 zkaqakeyaa://a/keyykey