CTF | bugku | 字符?正则?

Posted chrysanthemum

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CTF | bugku | 字符?正则?相关的知识,希望对你有一定的参考价值。

做题链接 

一个详细讲正则的网址1

一个详细讲正则的网址2 


代码如下

<?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);
}
?> 

我初次构造的payload:

keykeykeykeykey:/ /keya@i

技术图片

 

 

解析:

 key        .      *        key      .      {4,7}  key:/             /  (       .     *        key)     [a-z]                 [[:punct:]]
‘key’+任意单个字符+零个或多个+‘key’+任意单个字符+长度4-7+‘key:/’+任意单个字符+ / +(任意单个字符+零个或多个+‘key’)+英文小写字母一个+匹配‘!"#$%&‘()*+,-./:;<=>?@[]^_`{|}~.’中一个字符

payload最后面的 "i" 得益于  “preg_match函数的特性 ” ,这个 “i” 可有可无。

此外还有: 

/i:表示匹配时不区分大小写,如URL的匹配

/u :表示按照unicode,UTF-8的规则匹配,如汉字的匹配

/s: 表示把字符串视作单行

一个更加简洁的payload:

keykey1234key:/1/keya@

 技术图片

 

以上是关于CTF | bugku | 字符?正则?的主要内容,如果未能解决你的问题,请参考以下文章

CTF | bugku | 秋名山车神

BugKu [CTF] [web1-10]

CTF--web BugKu-ctf-web(1-10)

18/09/24-1-BugKu-逆向-LoopAndLoop(阿里CTF)

bugku|ctf|杂项|啊哒(有趣的表情包 来源:第七届山东省大学生网络安全技能大赛)

bugku_web_变量1(CTF)