安慰奖WEB 未解决

分数: 35 金币: 5
题目作者: harry
一  血: dotast
一血奖励: 2金币
解  决: 2540
提  示:
描  述:
flag{}
评论
GitKit 5年前

当序列化字符串表示对象属性个数的值大于真实个数的属性时就会跳过__wakeup()函数的执行。

回复 0

打工人打工魂 5年前

protected属性被序列化的时候属性值会变成:%00*%00属性名,而%00是空字符,在浏览器中会显示为空,但不代表传入时能没有%00,所以最后的payload应该加上%00

回复 1

yswdlll 5年前

wakeup绕过,将属性数量修改成与clase不一致就可以绕过,可以用一个小技巧,把bak下载到本地的时候,自己序列化输出序列值进行base64编码,然后自己在解码,这样就回显不会丢掉\x00,然后在修改属性数量,在url编码。。。。 $select = new ctf('admin','tac flag.php'); echo base64_encode(serialize(@$sel

回复 0

0xff0000 5年前

反序列化 protected 属性的 * 旁边有 \x00 字节,URL编码的时候注意有没有变成空格%20,应该是%00才对

回复 0

196082 5年前

tac flag.php为NULL

回复 0
kaibaking 5年前

你的序列化字符长度要对应cmd命令的长度才不会为null

回复 0

lm459532915 5年前

wakeup的绕过

回复 0

17673426864 5年前

老是不对,快炸了

回复 0

17673426864 5年前

大佬,可以多给点提示吗?

回复 0

jsmaster 5年前

日狗了,反序列化中的privated和protected的东西弄了一个多小时。吐了。

回复 3

fany 5年前

var_dump不能执行系统命令吧

回复 1
lingxiaolu 5年前

他前面一句有``反引号,可以作为系统命令输出给var_dump

回复 3

WriteUp

image
小赵同学

3 金币

评分(5)

解题动态

风掠 攻破了该题 2天前
Lapis 攻破了该题 2天前
1柒1 攻破了该题 2天前
Alter 攻破了该题 3天前
CCC1112 攻破了该题 3天前
gc 攻破了该题 3天前
KN11 攻破了该题 4天前
世界你好 攻破了该题 6天前
灵梦归希 攻破了该题 7天前
小懒 攻破了该题 7天前
LakeFlasher 攻破了该题 7天前
chenlinXdb 攻破了该题 7天前
能工智人 攻破了该题 9天前
小楼一夜听春雨 攻破了该题 9天前
fjakjasdhfa 攻破了该题 10天前
R4bbit 攻破了该题 10天前
阿狸沙堤 攻破了该题 11天前
qi1102 攻破了该题 11天前
暗流安全 攻破了该题 11天前
woshicaocao 攻破了该题 14天前
问题反馈