No one knows regex better than meWEB 未解决

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

好家伙,这题,好牛逼。重点看看这个regx:/\\|\056\160\150\x70/i ,太牛逼了。\|表示转义的|,而第一个\转义的是第二个\

回复 3

笨笨笨蛋 3年前

我不理解/\\|\056\160\150\x70/i是这么转换成|.php的

回复 3
2224525664 3年前

\056 是八进制,转换成十进制是46,对应ascii是.,其他同理

回复 1

ba1100n 3年前

first要带 | 的原因是不是这样:字符串传入到PHP的时候转义一次+正则转义一次,一共转义了两次。并且\比|优先进行计算。 于是最内层那个正则从 \\|.php 变成 \|.php 再 |.php ,综上first参数要= [4个字符]|.php

回复 3

杠上开花 3年前

试了下 py 和 js 下|都不会转义,果然还是 php 奇葩

回复 5

wwsbb 3年前

泪目,已经好久没遇到得的金币比开靶机的金币多了

回复 6

spiritboy 3年前

好家伙web题要找到一个做出来不倒扣金币的不容易,手动?

回复 5

a320575517 4年前

zero 需要是base64_encode(flag) first需要四个字符 且能通过preg_match_all :oror flag girl aaaa payload: ?zero=ZmxhZw==&first=girl|.php

回复 0

落日星辰 4年前

分享:https://blog.csdn.net/qq_51652864/article/details/115418817

回复 1

ForHonor 4年前

这篇wp还不错:https://blog.csdn.net/zw05011/article/details/122483680 preg_match("/\\|\056\160\150\x70/i",$third)表示匹配 |.php. 1.执行ASC码转为可打印字符 \056\160\150\x70 => .php 2.执行php语法转义 \\ =>

回复 3

Qk_A 4年前

正则: '\|'匹配'|' '\\|'匹配'|' 而如果是\\\|匹配'\|'

回复 3

WriteUp

image
DD03

8 金币

评分(9)

解题动态

店晓贰 攻破了该题 18小时前
CTF-大王 攻破了该题 2天前
sillyhamster 攻破了该题 8天前
2000005557 攻破了该题 9天前
fengci 攻破了该题 10天前
ggtom 攻破了该题 10天前
zhengjim 攻破了该题 10天前
baisui 攻破了该题 12天前
ljy1997 攻破了该题 13天前
069-ZTH 攻破了该题 13天前
OvOawa 攻破了该题 13天前
gdrhdr 攻破了该题 14天前
ffggfhge 攻破了该题 14天前
爱喝畅汁 攻破了该题 14天前
oodcc 攻破了该题 15天前
mybugku26 攻破了该题 15天前
lihaoweiseven 攻破了该题 16天前
汤布里伯 攻破了该题 17天前
Sonetto 攻破了该题 18天前
暗流安全 攻破了该题 21天前
问题反馈