No one knows regex better than meWEB 未解决
分数:
25
金币:
5
题目作者:
yeedo
一 血:
硝基苯爸爸
一血奖励:
10金币
解 决:
2671
提 示:
描 述:
正则好像没有想象中那么简单
评论
727761286 3年前
举报
这一串匹配结果有大佬可以详细解答吗,/\\|\056\160\150\x70/i /\\|.php/i 不是最后是\或者.php吗,还是说\的优先级比|高,先对\|进行转义,多出来的\又转义一次?。虚心求教
XiaoHexi 3年前
举报
给第一次做这种题的人一点建议(我也是第一次),先试着把代码读懂,不然不知道怎么下手,web题目大部分都是要弄playload,代码弄懂之后playload基本可以自己写出来了
2817001550 3年前
举报
php正则表达式建议使用单引号括起来而不是双引号,这个题目充分说明了这一准则的重要性。
orobos1 3年前
举报
并不是“字符串转译一次,正则再转译一次”,而是遇到/会转译到尽头吧,因为在自己的电脑上将//改成/照样是同样的答案
competition 3年前
举报
http://www.regexp.cn/Regex,大家在这个网站上试试,感觉答案不对,仅有.php也可以匹配
yswdlll 3年前
举报
不太会,大佬能说一下这个怎么用么,为用那个生成代码功能跑python,跑不出来
competition 3年前
举报
感觉不太对啊,"/\\|.php/"不是应该是\或者.php的字符吗?为什么一定要有|这个符号?
4thrun 3年前
举报
同问,(\\)|.php行不行呢
roguelike 3年前
举报
同问
王曦之啊 3年前
举报
if(preg_match("/\\|\056\160\150\x70/i",$third)) 有大佬能详细讲解一下这一步怎么搞吗?
Anyyy 3年前
举报
$end=substr($third,5);就是表示截断third的前五位,所以要拼接成xxxx|.php,这样保留下的就是.php,最后要和base64解码后的zero拼接成flag.php就出来了
Anyyy 3年前
举报
\056\160\150\x70 是 十六进制和八进制的Ascii编码,解出来就是 ".php" /\\|.php/i
fstr0w 3年前
举报
这道题挺好,对我这种php和re都不太熟悉的人来说,能学到很多。
heavenqaq 3年前
举报
tnl,建议搜索正则运算符优先级
Loong3t 3年前
举报
字符串优先级比'|'高,'\'转义符同理