ctf解题积累(3月)

1.buuctf:[网鼎杯 2020 青龙组]AreUSerialz

具备知识点:序列化和反序列化。

解题思路:题目中出现了write,read,is_valid,_construct等函数,我们先了解代码运行过程->用echo+"函数" 写一份新的php代码copy.php(复制修改)。然后写一个test.php,使用序列化的原理和Burpsuite工具将数据放入copy.php中,调试代码读取文件flag.php(此php文件先自己创建一个)。

其中会出现的问题及解决方法:

1)显示not valid ->原因是op被强制等于1,故将op强类型转换,去掉字符串的引号;

2)显示valid但是不显示flag->原因是传入copy.php的数据ascii码小于32,而会小于32是因为protected类型序列化时会出现%00,其ASCII码是0,故将protected换成public;

3)前面两个问题都解决了但是不能读出flag->原因是windows环境下flag.php需要写成"D:/phpstudy_pro/WWW/flag.php" ,而linux环境下默认为该文件所在文件下的flag.php,不需要写D:\phpstudy_pro\WWW。。。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值