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

创建网站怎么赚钱的分销渠道

创建网站怎么赚钱的,分销渠道,网站规划与开发技术,免费网站流量PHP反序列化漏洞复现测试代码我们运行以上代码文件,来证明函数被调用:应为没有创建对象,所以构造函数__construct()不会被调用,但是__wakeup()跟__destruct()函数都被调用,如果这些函数里面包含的是恶意代码会怎么样呢…

PHP反序列化漏洞复现

测试代码

ad90495fd418c86b65f703b088519168.png

我们运行以上代码文件,来证明函数被调用:

cae42862c5e8db2738873b9d9bb85ff4.png

应为没有创建对象,所以构造函数__construct()不会被调用,但是__wakeup()跟__destruct()函数都被调用,如果这些函数里面包含的是恶意代码会怎么样呢?

利用场景

__wakeup() 或__destruct()

由前可以看到,unserialize()后会导致__wakeup() 或__destruct()的直接调用,中间无需其他过程。因此最理想的情况就是一些漏洞/危害代码在__wakeup() 或__destruct()中,从而当我们控制序列化字符串时可以去直接触发它们。这里针对 __wakeup() 场景做个实验。

基本的思路是,本地搭建好环境,通过 serialize() 得到我们要的序列化字符串,之后再传进去。通过源代码知,把对象中的test值赋为 “<?php phpinfo(); ?>”,再调用unserialize()时会通过__wakeup()把$test的写入到shell.php中。为此我们写个php脚本:

757cdf480a9e1d0c0b4c1579784dad04.png

运行结果:

cb4cd886e261873ec497bdc00f9de5cb.png

我们再来看shell1.php:

63ac31b80c32acb5111302f69be8f321.png

成功的利用反序列化漏洞来得到phpinfo()信息

不过具体的环境多是像下面代码这样,我们的test是我们可控的参数

8cde58e0dae5de6da8f0d3b594bee350.png

我们传入参数test=O:7:"bmjoker":1:{s:4:"test";s:18:"<?php phpinfo();?>";}

8066d1080dff913b0be6399fe516e685.png

同时shell.php也成功写入

57deb29a0025bae6cd12221e2387cb72.png

成功利用php反序列化漏洞

其他Magic function的利用

但如果一次unserialize()中并不会直接调用的魔术函数,比如前面提到的__construct(),是不是就没有利用价值呢?非也。类似于PWN中的ROP,有时候反序列化一个对象时,由它调用的__wakeup()中又去调用了其他的对象,由此可以溯源而上,利用一次次的“gadget”找到漏洞点。

18d5cbcabe014f02e28caa3a5ca01109.png

这里我们给test传入构造好的序列化字符串后,进行反序列化时自动调用 __wakeup()函数,从而在new joker()会自动调用对象joker中的__construct()方法,从而把<?php phpinfo();?>写入到shell.php中:

我们传入参数  test=O:7:"bmjoker":1:{s:4:"test";s:18:"<?php phpinfo();?>";}

8ba0877290344af19d5290e3356d02cf.png

同时she.php也成功写入:

f3f0247f107ec89bb9aff32bb38ad585.png

利用普通成员方法

前面谈到的利用都是基于“自动调用”的magic function。但当漏洞/危险代码存在类的普通方法中,就不能指望通过“自动调用”来达到目的了。这时的利用方法如下,寻找相同的函数名,把敏感函数和类联系在一起。

f6f42f25d73443cc1454f61c1b7d4d23.png

本意上,new一个新的lmjoker对象后,调用__construct(),其中又new了bmjoker对象。在结束后会调用__destruct(),其中会调用action(),从而输出 bmjoker

0ee38ba3255303c0bb6603b1be3936d7.png

下面是利用过程。构造序列化

00c7d973afa6874e1a77834102176063.png

得到:

b01b674348295cdaea150110a81181a9.png

传给5.php的test参数,利用成功

673731afdc9546de1a5e8369a4184d4d.png

http://www.lbrq.cn/news/2393533.html

相关文章:

  • 山西科技网站建设济南网站优化公司哪家好
  • 深圳市做网站的有那些公司注册网站查询
  • 北京棋森建设有限公司网站怎么做公众号
  • 陕西党建网站两学一做常态化山东最新消息今天
  • 建设视频网站要求吗全网推广平台有哪些
  • 兰州建网站seo研究中心vip教程
  • 自己做网站挣钱吗宁德市医院
  • 微信导航网站模板seo深圳优化
  • 橙子建站短信验证码安全吗企业网站策划
  • 苏州网站建设网站优化seo关键词快速排名介绍
  • 成都企业建网站香飘飘奶茶软文
  • 单页面网站做百度推广中国国家数据统计网
  • 学校网站网站建设seo网站排名优化培训教程
  • 网站上可以做直播吗武汉seo广告推广
  • 在pc端网站基础上做移动端销售的技巧与口才
  • 佛山高端网站开发公司站长权重
  • 南通做网站需要多少钱网站制作代码
  • 机械设备如何做网站超级优化
  • 怎么样用手机做网站关键词短视频seo系统
  • 建设专门网站 强化信息宣传百度官方网站网址是多少
  • 政府网站建设指南 标准搜索引擎优化工具有哪些
  • 做领域细分行业需要建网站吗网站推广的营销策划方案
  • 网站反链是什么意思建网站建设
  • 自己做网站制作全网整合营销推广系统
  • 喀什地区建设局网站外链网盘
  • 网站建设a云世家宋南南网站优化推广公司
  • dw做的网站如何让别人看看宣传软文是什么
  • 套餐网站最新行业动态
  • 给网站划分栏目seo搜狗排名点击
  • 农业网站平台建设方案网站域名购买
  • 考研复习-数据结构-第七章-查找
  • math.h函数
  • 如何为“地方升学导向型”语校建模?Prompt 框架下的宇都宫日建工科专门学校解析(7 / 500)
  • 【AI News | 20250717】每日AI进展
  • Glary Utilities(系统优化工具) v6.20.0.24 专业便携版
  • Helm-k8s包管理工具(一)核心概念、helm工作目录