PHP 反序列化&原生类 TIPS&字符串逃逸&CVE 绕过漏洞&属性类型特征


#PHP- 属性类型 - 共有 & 私有 & 保护
1 、对象变量属性:
public( 公共的 ): 在本类内部、外部类、子类都可以访问
protect( 受保护的 ): 只有本类或子类或父类中可以访问
private( 私人的 ): 只有本类内部可以使用
2 、序列化数据显示:
public 属性序列化的时候格式是正常成员名
private 属性序列化的时候格式是 %00 类名 %00 成员名
protect 属性序列化的时候格式是 %00*%00 成员名
<?php
header("Content-type: text/html; charset=utf-8");
//public private protected 说明
class test{
public name="xiaodi"; private age="31";
protected sex="man"; } a=new test();
a=serialize(a);
print_r($a);
?>
#PHP- 绕过漏洞 -CVE& 字符串逃逸
1 、 CVE-2016-7124 ( __wakeup 绕过)
漏洞编号: CVE-2016-7124
影响版本: PHP 5<5.6.25; PHP 7<7.0.10
漏洞危害:如存在 __wakeup 方法,调用 unserilize() 方法前则先调用 __wakeup 方
法,但序列化字符串中表示对象属性个数的值大于真实属性个数时会跳过 __wakeup 执行
Demo :见 CVE.PHP 与版本切换演示
案例:

极客大挑战 2019\]PHP 1 、下载源码分析,触发 flag 条件 2 、分析会触发调用 __wakeup 强制 username 值 3 、利用语言漏洞绕过 CVE-2016-7124 4 、构造 payload 后 修改满足漏洞条件触发 ![](https://i-blog.csdnimg.cn/direct/1db473f5dfb0471594fec1eb4de32bc2.png) ![](https://i-blog.csdnimg.cn/direct/54a295d7920541e7b3f3e701ce9c98ea.png) ![](https://i-blog.csdnimg.cn/direct/b742d1fd50854a89b012fb6b3579007e.png) ![](https://i-blog.csdnimg.cn/direct/974f93aea8544100a3abf617273d353e.png) ![](https://i-blog.csdnimg.cn/direct/838f0ad099134066a2378169497399d0.png)此图为原生类脚本

相关推荐
CoderCodingNo12 小时前
【GESP】C++五、六级练习题 luogu-P1886 【模板】单调队列 / 滑动窗口
开发语言·c++·算法
好家伙VCC12 小时前
**发散创新:基于Rust的轻量级权限管理库设计与开源许可证实践**在现代分布式系统中,**权限控制(RBAC
java·开发语言·python·rust·开源
xiaoshuaishuai812 小时前
C# 方言识别
开发语言·windows·c#
John.Lewis12 小时前
C++进阶(6)C++11(2)
开发语言·c++·笔记
@atweiwei12 小时前
用 Rust 构建agent的 LLM 应用的高性能框架
开发语言·后端·rust·langchain·eclipse·llm·agent
skilllite作者12 小时前
Spec + Task 作为「开发协议层」:Rust 大模型辅助的标准化、harness 化与可回滚
开发语言·人工智能·后端·安全·架构·rust·rust沙箱
Dxy123931021612 小时前
Python序列标注模型上下文纠错详解
开发语言·python
孙鹏宇.12 小时前
左值右值.
java·开发语言
用户416596736935512 小时前
深度解码:记一次视频时间戳(PTS)异常导致的播放故障排查
android
风吹迎面入袖凉12 小时前
【Redis】Redisson分布式锁原理
java·服务器·开发语言