开卷看题
/%E5%AD%97%E7%AC%A6_%E6%AD%A3%E5%88%99/1.png)
源码审计题
代码分析
1 |
|
总结一下:当输入的参数满足正则要求时即可得到答案
精心设计
明白了代码原理之后接下来就是去构造一个符合正则的字符串
强烈推荐一个在线正则验证平台:传送门
将正则表达式拷贝到平台中
/%E5%AD%97%E7%AC%A6_%E6%AD%A3%E5%88%99/2.png)
结合平台给出的高亮提示可以很清楚的看出正则的结构
先列举一下自定义助记符:
- c:任意字符
- cs:任意个数的任意字符
- +:表示逻辑连接,实际不存在
- lc:任意小写字母
- sc:任意特殊字符
key + c + key + 4到7个c + key: + /c/ + cs + key + lc + sc
给出一个我构造的:keykey1234key:/z/keyz@(给是给了,对不对不知道)
拿着我构造的表达式提交一下
/%E5%AD%97%E7%AC%A6_%E6%AD%A3%E5%88%99/3.png)
嗯???哦,我知道了,再试一下
/%E5%AD%97%E7%AC%A6_%E6%AD%A3%E5%88%99/4.png)
YES,拿下key
课后问答
Q:为什么要在index提交而不是2.php
Q:为什么要弄出来一个2.php