No one knows regex better than meWEB 未解决

分数: 25 金币: 5
题目作者: yeedo
一  血: 硝基苯爸爸
一血奖励: 10金币
解  决: 2938
提  示:
描  述:
正则好像没有想象中那么简单
评论
王曦之啊 4年前

if(preg_match("/\\|\056\160\150\x70/i",$third)) 有大佬能详细讲解一下这一步怎么搞吗?

回复 0
Anyyy 4年前

$end=substr($third,5);就是表示截断third的前五位,所以要拼接成xxxx|.php,这样保留下的就是.php,最后要和base64解码后的zero拼接成flag.php就出来了

回复 2

Anyyy 4年前

\056\160\150\x70 是 十六进制和八进制的Ascii编码,解出来就是 ".php" /\\|.php/i

回复 1

fstr0w 4年前

这道题挺好,对我这种php和re都不太熟悉的人来说,能学到很多。

回复 0

heavenqaq 4年前

tnl,建议搜索正则运算符优先级

回复 1

Loong3t 4年前

字符串优先级比'|'高,'\'转义符同理

回复 1

Lorlike 4年前

re和字符串会转义两次

回复 2

xiaomi 4年前

正则表达式那里真的不是"/\\\\|\056\160\150\x70/i"吗?\转义'\',这样才是匹配.php,才能匹配到,不然我怎么也匹配不到,还是我太菜了?

回复 0
zpcDragon 4年前

@xiaomi \\\\|是不是先字符串转义成\\|然后正则表达式会匹配\|

回复 1

xiaomi 4年前

@87154715 懂了,字符串先转义,然后正则表达式再转义

回复 1

87154715 4年前

|

回复 0

ifconfig 4年前

20分钟还没一血,我来早了?

回复 0
dotast 4年前

做吧,很简单的

回复 3

WriteUp

image
DD03

8 金币

评分(9)

解题动态

zzuer 攻破了该题 20小时前
白菜白又白 攻破了该题 1天前
鲲中霸王 攻破了该题 1天前
out不慢 攻破了该题 3天前
180度以南 攻破了该题 4天前
zrc2682 攻破了该题 5天前
ixin 攻破了该题 7天前
Fbug 攻破了该题 8天前
xxaqgcszzh 攻破了该题 12天前
南交混的入朱靖宇 攻破了该题 12天前
caocao 攻破了该题 14天前
Robert 攻破了该题 14天前
一世温华 攻破了该题 14天前
2970507147 攻破了该题 15天前
对对对对对对对对 攻破了该题 16天前
tytu 攻破了该题 17天前
flewing 攻破了该题 17天前
lzhh530393027 攻破了该题 19天前
Alune 攻破了该题 22天前
辛笙 攻破了该题 23天前
问题反馈