Bugku 字符?正则?

﹥>﹥吖頭↗ 提交于 2019-12-06 00:58:35

打开是一段中规中矩的php代码

 

 

先读一下代码

高亮文件2.php

定义变量key

定义变量IM其值是一个正则表达式匹配的结果

如果IM是真就输出key

 

所以这道题的关键也就是IM正则匹配的结果了,我们只需要让其为1即可。

先分析下他在如何匹配

匹配函数里共有三段,第一段是匹配方式,第二段是字符串,第三段是参数,这里的math似乎没有什么作用。。。然后字符串就是经过trim函数处理后的GET传入id值,因为这里trim函数中没带其他参数,所以这里就是返回删除了NULL,制表符换行垂直制表符回车空格后的值

 

 

关键点就是我们传入的id要与前面的代码匹配,分析匹配内容

key(排除换行)(匹配前面的字符0次或多次)key(排除换行)(至少匹配4次至多匹配7次)key 两次转义/\ ((排除换行)匹配0次或多次key)匹配小写字母匹配任何标点符号(不分大小写)

最后构造出我们的idkeykeyaaaakey:/a/keya:

 

 

得到flag

 

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!