No one knows regex better than meWEB 未解决

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

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

回复 1

Loong3t 5年前

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

回复 1

Lorlike 5年前

re和字符串会转义两次

回复 2

xiaomi 5年前

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

回复 0
zpcDragon 4年前

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

回复 1

xiaomi 5年前

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

回复 1

87154715 5年前

|

回复 0

ifconfig 5年前

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

回复 0
dotast 5年前

做吧,很简单的

回复 3

WriteUp

image
DD03

8 金币

评分(9)

解题动态

Tychema 攻破了该题 1天前
anton_小金鱼 攻破了该题 2天前
Kernel1 攻破了该题 5天前
avaclaire 攻破了该题 5天前
YS_JW 攻破了该题 5天前
wujita01 攻破了该题 6天前
hsk_zy 攻破了该题 7天前
zhuguangsen 攻破了该题 7天前
mmhhdm 攻破了该题 8天前
Annaaaa 攻破了该题 9天前
kitniu 攻破了该题 9天前
victorcream 攻破了该题 11天前
提姆邓肯 攻破了该题 11天前
Binary_0 攻破了该题 12天前
nanaqilin 攻破了该题 15天前
kr2yh 攻破了该题 16天前
S-killer 攻破了该题 17天前
yuesheng#1 攻破了该题 17天前
小白RM 攻破了该题 17天前
嘻嘻嘻vvvv 攻破了该题 18天前
问题反馈