这道题挺没意思的,就是考察正则,还有PHP preg_match函数的作用,好,我们开始
打开页面一堆代码提示,进行分析:
<?php highlight_file('2.php'); //高亮,没有什么好说的 $key='KEY{********************************}'; //千万不要以为这就是PHP源代码,这个只是提示你,flag在$key里面 //preg_match 相当于一个匹配搜索的函数,preg_match (这里写正则、这里是待匹配的内容、这里是匹配的结果) //这里就是要让$IM有值,也即是TRUE,然后让下面的if语句能够成功执行,就能拿到flag $IM= preg_match("/key.*key.{4,7}key://.//(.*key)[a-z][[:punct:]]/i", trim($_GET["id"]), $match); if( $IM ){ die('key is: '.$key); } ?>
正则这里自己去恶补,不解释,这个题可以构造的payload实在是太多了,我这里就随便写一个
payload:http://123.206.87.240:8002/web10/?id=key123key1234key:/1/123keya-
然后成功拿到flag。。。
评论