No one knows regex better than meWEB 未解决
分数:
25
金币:
5
题目作者:
yeedo
一 血:
硝基苯爸爸
一血奖励:
10金币
解 决:
2800
提 示:
描 述:
正则好像没有想象中那么简单
评分(8)
解题动态

bugtest 攻破了该题 18小时前

jiubanyipeng 攻破了该题 18小时前

2424291112 攻破了该题 4天前

蟹堡王第一厨师长 攻破了该题 7天前

2410968090 攻破了该题 8天前

不知所云111 攻破了该题 9天前

流风jttqh 攻破了该题 11天前

llc123 攻破了该题 13天前

苍穹璀璨 攻破了该题 18天前

ABCDHBY 攻破了该题 19天前

forces 攻破了该题 21天前

3268798994 攻破了该题 22天前

daundian 攻破了该题 23天前

pezn1and 攻破了该题 23天前

jiayouya 攻破了该题 26天前

不上早八 攻破了该题 26天前

18897888104 攻破了该题 27天前

19933663636 攻破了该题 29天前

ldy127bugku 攻破了该题 1月前

评论
yeedo 3年前
举报
看了大家的评论,有部分同学提出了对payload是否包含|的质疑,并给出了相关正则匹配的网站结果,事实上,在出这道题的时候我就发现了基本所有的正则匹配规则网站对这个正则的匹配结果都是存在问题的,这也是出这道题的初衷。建议大家做题时先学习php正则匹配优先级的相关知识,这样可以更好的理解这道题xd
发到付件埃里克FDA 2年前
举报
这个正则就TM神奇。 \\|我以为是表示 \符号的 结果是表示| 符号。。。
现在有点开心了 3年前
举报
感觉有点问题?
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 4年前
举报
这道题挺好,对我这种php和re都不太熟悉的人来说,能学到很多。