bugku No one knows regex better than me

进入环境是一串php代码,代码审计,考的是正则

 

我们本地加上echo $second 发现是把zero和first变量连起来

bugku No one knows regex better than me_第1张图片

分析:

下面是正则表达式

\056\160\150\x70是三个八进制一个十六进制,编码过来就是.php

意思传的变量不能包含 ..  flag   要包含yeedo要女朋友或者flag中的字符和|.php

变量end从变量third第五位开始截取注意第一个字符是位置0

然后对变量zero Base64解码 后面加上变量end

提示我们flag在flag.php

从后往前看

最后我们应该是要构造出flag.php

因为flag.php是由变量zero和变量end合在一起的,且变量zero要经过base64解码

同时前面我们是需要有字符串flag在里面又不能在里面所以把flag base64加密得到ZmxhZw==

后面因为要取第五位以后的我们可以构造abcd|.php

最后的payload:

?zero=ZmxhZw==&first=abcd|.php

 

你可能感兴趣的:(安全,网络安全,其他)