[极客大挑战 2019]PHP1

7 篇文章 0 订阅

打开靶机

提示有备份,可以用工具扫描,我还没有配置好环境,搜了一下其他师傅的:备份的地址在这:

/www.zip

下载后得到这几个文件:

 index.php就是上面打开的网页,其中有一段php代码:就是说引用class.php,然后把通过get传入的参数反序列化

class.php,定义了一个Name对象,当Name.username=admin;Name.password=100时,给出flag。这里的难点在于,Name实例化的时候会调用wakeup函数,把username修改为guest

解决的方法利用反序列化中,当当成员属性数目大于实际数目时才可绕过wakeup

首先我们构造一个实现一个Name实例,然后进行序列化,把这里的2改成大于2的数字,即可实现绕过wakeup函数。

 

payload:O%3a4%3a%22Name%22%3a4%3a%7bs%3a14%3a%22%00Name%00username%22%3bs%3a5%3a%22admin%22%3bs%3a14%3a%22%00Name%00password%22%3bs%3a3%3a%22100%22%3b%7d

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值