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

网站模板无忧促销活动推广语言

网站模板无忧,促销活动推广语言,开发公司修路的费用,龙岗做企业网站文章目录 基础知识魔术方法:在序列化和反序列化过程中自动调用的方法什么是 __destruct() 方法?何时触发 __destruct() 方法?用途:语法示例: 反序列化漏洞利用前提条件一些绕过策略绕过__wakeup函数绕过正则匹配绕过相…

文章目录

  • 基础知识
    • 魔术方法:在序列化和反序列化过程中自动调用的方法
    • 什么是 `__destruct()` 方法?
    • 何时触发 `__destruct()` 方法?
    • 用途:
    • 语法示例:
  • 反序列化漏洞利用
    • 前提条件
    • 一些绕过策略
      • 绕过__wakeup函数
      • 绕过正则匹配
      • 绕过相等逻辑判断
      • 利用大S的ascll码绕过
      • 反序列化字符逃逸
  • 高级反序列化
    • phar反序列化
      • 什么是 PHAR 文件?
        • 特点
    • session反序列化

基础知识

序列化:将对象转化为一个可传输的字符串,serialize()
反序列化:将字符串重新转化为对象
只有类的属性可以序列化,方法不可以
如果属性权限为private,那么序列化后,存储的属性名字为%00+类名+%00+属性名
如果属性权限为protected,那么序列化后,存储的属性名字为%00+*+%00+属性名

<?php
类的属性可以是类
class ctf{public $name;
} 
class user{public $type='vip';
}
$c=new ctf();
$c->name=new user();
echo $c->name->type;

魔术方法:在序列化和反序列化过程中自动调用的方法

1. _sleep()方法在序列化时自动调用
2. _wakeup()方法在反序列化时自动调用 
3. 反序列化时自动调用_destruct析构方法,方法内恶意代码也会被执行
4. 执行类不存在的方法时自动调用_call方法,执行不存在的static方法时会调用_callstatic()方法
5. _get方法在访问不存在属性时自动调用,_set方法在写入不存在属性时自动调用
6. _isset()方法和_unset()方法
7. _tostring()方法,把对象和字符串拼接或者当字符串用时自动调用
8. _invoke()方法,当类的实例被当作函数调用
9.  __set_state 方法,文档中说执行 var_export时自动调用
10.  __debugInfo 方法的属性修饰符,执行var_dump时自动调用
11.  __clone方法,当使用clone关键字 ,clone一个对象时,会自动调用

在这里插入图片描述

什么是 __destruct() 方法?

__destruct() 是 PHP 中的一个魔术方法(magic method),它用于在对象销毁时自动执行一些清理操作,比如释放资源或关闭数据库连接。这个方法会在对象生命周期结束时自动调用,无需手动触发。

何时触发 __destruct() 方法?

__destruct() 方法在以下情况下被自动调用:

  1. 对象被销毁时:当对象不再被使用时,PHP 会自动调用 __destruct()
  2. 脚本结束时:当脚本执行结束时,所有未销毁的对象都会调用 __destruct()
  3. 手动销毁对象:当调用 unset() 或者赋值 null 给对象时,__destruct() 会被触发。

用途:

  • 释放资源:比如关闭数据库连接、关闭文件句柄、释放内存等。
  • 清理工作:可以用于日志记录、清理临时文件等。

语法示例:

class MyClass {public function __construct() {echo "对象创建了!\n";}public function __destruct() {echo "对象销毁了!\n";}
}$obj = new MyClass();  // 输出:对象创建了!
unset($obj);            // 输出:对象销毁了!

反序列化漏洞利用

前提条件

  • 存在反序列化提交的入口
  • 有被反序列化的类的魔术方法

一些绕过策略

绕过__wakeup函数

条件:

  1. php5至php5.6.25 之间的版本可以绕过
  2. php7到php7.0.10 直接的版本可以绕过

绕过方法:

反序列化字符串中表示属性数量的值大于大括号内实际属性的数量时 ,wakeup方法会被绕过

绕过正则匹配

参数有过滤,不让输入O:数字的形式,试图防止反序列化某个对象

O:数字 改为 O:+数字 就可以绕过上面的O:数字 过滤

绕过相等逻辑判断

eg $a->name=&$b

采用&符号,使得a的值与b的值恒相等

利用大S的ascll码绕过

大写S可以支持ascll值的字符,可以借助这个特性绕过一些被过滤的字符

O:8:"backdoor":1:{s:4:"name";s:10:"phpinfo();";}O:8:"backdoor":1:{S:4:"n\97me";s:10:"phpinfo();";}

反序列化字符逃逸

在一些关键词被替换后,描述中的字符数量是按照未替换之前的字符来计算,当替换后字符数量大于描述数量时,就可以逃逸出一些字符

高级反序列化

phar反序列化

什么是 PHAR 文件?

PHAR(PHP Archive)文件是一种将多个 PHP 文件、资源和其他数据打包成一个单一的归档文件的格式。它类似于 .tar.zip 文件,允许将整个 PHP 应用或库打包为一个文件,方便分发和部署。

特点
  • 自包含:PHAR 文件可以包含 PHP 脚本和其他资源(如图片、配置文件等),可以作为一个独立的文件运行。
  • 可执行:PHAR 文件可以像普通的 PHP 脚本一样执行,通过 php archive.phar 来运行。
  • 压缩支持:PHAR 文件支持压缩,可以通过 .tar, .gzip.bzip2 等格式进行压缩。

$phar->setmetadata($h);

metadata可以放一个类实例,生成phar后,会将这个类实例序列化字符串放到phar文件内,当使用phar协议加载phar文件时,会自动反序列化这个类的序列化字符串

include
file_get_contents
file_put_contents
.use.ini
等与文件相关的函数都可以包含phar协议,从而自动调用其魔术方法

phar协议哪里使用的多?

  • 存在文件上传点
  • 能找到file_exists()等文件读取函数,通过控制phar://头,就能解析phar包来自动进行反序列化

session反序列化

  • php的session是存放在文件中的 默认位置是/tmp/sess_PHPSESSID

  • session 是可以放字符串,数字,也可以放对象

    1. session里面存放对象时,会自动进行序列化,存放序列化后的字符串
    2. session里面拿取对象时,会自动进行反序列化,执行对象的魔术方法

u|O:4:“user”:2:{s:8:“username”;N;s:8:“password”;N;} 属于php处理器
以数组类型来存,属于php_serialize处理器
如果用php_serialize处理器来存,就可以在username中注入|,但是如果用php处理器来取时,就会把|右边的内容进行反序列化,反序列化之后就会调用恶意类的实例,在销毁时就会调用析构方法

http://www.mmbaike.com/news/44889.html

相关文章:

  • 检测网站访问量如何利用互联网进行宣传推广
  • 家里面的服务器可以做网站吗2022最新小学生新闻
  • 江苏建设教育考试网站做外贸网站哪家公司好
  • 吴忠市建设局官方网站湖南长沙疫情最新情况
  • 阿里云网站建设方案书怎么写软文案例200字
  • 响应式的学校网站糕点烘焙专业培训学校
  • 如何做流量充值网站seo实战论坛
  • 素材网站哪个值得买查询网域名查询
  • 福州营销型网站建设百度竞价可以自学吗
  • 温江区建设局网站网络营销热点事件案例分析
  • 免费关键词排名优化网站站外优化推广方式
  • 无锡微信网站建设自助建站系统个人网站
  • 免费模板网站推荐如何把品牌推广出去
  • 网站规划和建设提交百度一下
  • 网站口碑推广seo基础教程
  • 公安备案交互式网站引流推广网站
  • 网站设计 中高端刷链接浏览量网站
  • wordpress搭建文件下载优化营商环境发言材料
  • 平原做网站seo外链在线提交工具
  • 网站开发的原则中国日报网站的布局怎么在网上推广广告
  • 建设统计网站进不去专业代写文案的公司
  • 武汉建网站公司怎么样免费的网页模板网站
  • 面料 做网站网络优化大师手机版
  • 搭建一个网站的基本流程怎么进行seo
  • 免费搭建私人网站网站开发从入门到实战
  • 做财经类网站要许可吗产品营销策划方案3000字
  • 开一个客服外包公司北京网站建设东轩seo
  • 无锡制作网站公司简介可以放友情链接的网站
  • 网站icp做年检怎么seo网站关键词优化
  • 网易梦幻西游网页版seo精准培训课程