WP-Bugku-字符?正则?

题目代码:

1
2
3
4
5
6
7
8
<?php 
highlight_file('2.php');
$key='KEY{********************************}';
$IM= preg_match("/key.*key.{4,7}key:\/.\/(.*key)[a-z][[:punct:]]/i", trim($_GET["id"]), $match);
if( $IM ){
die('key is: '.$key);
}
?>

可以看到/key.*key.{4,7}key:\/.\/(.*key)[a-z][[:punct:]]/i这一串正则表达式
(关于正则点这里)
能够构造出:
?id=key1key22222key:/3/keyz;

构造url:
http://120.24.86.145:8002/web10/?id=key1key22222key:/3/keyz;

得到KEY{0x0SIOPh550afc}


### 正则表达的整理: 1.表达式直接写出来的字符串直接利用,如key 2.“.”代表任意字符 3.“*”代表一个或一序列字符重复出现的次数,即前一个字符重复任意次,这里可以是0次,还有就是以'^'开头,以'$'结束 4.“\/”代表“/”,一种转义,因为单独的//代表着正则的开始与结束 5.[a-z]代表a-z中的任意一个字符 6.[[:punct:]]代表任意一个字符,包括各种符号,记得是符号 7./i代表大小写不敏感 8.{4-7}代表[0-9]中数字连续出现的次数是4-7次 9.\s匹配任意的空白符 10.\d 匹配数字 11.\b 匹配单词的开始或结束
AbelChe wechat
扫码加微信
Donate here!!!
0%