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 与版本切换演示
案例:
极客大挑战 2019PHP
1 、下载源码分析,触发 flag 条件
2 、分析会触发调用 __wakeup 强制 username 值
3 、利用语言漏洞绕过 CVE-2016-7124
4 、构造 payload 后 修改满足漏洞条件触发
此图为原生类脚本

相关推荐
优橙教育1 小时前
5G网优培训 vs Java开发:转行选哪个?
java·开发语言·5g
GitLqr1 小时前
Flutter 无障碍开发实战:玩转 Semantics 解决视障用户使用痛点
android·flutter·dart
SeaTunnel3 小时前
从 Python Script 地狱到标准化数据集成框架
大数据·开发语言·python·程序员·代码·seatunnel
碎光拾影3 小时前
ARM交叉工具链各工具作用及IMX6ULL平台LED+蜂鸣器裸机程序实现
java·开发语言·数据库
Marst Code4 小时前
(python)2026Plotly 库评估:交互式可视化到底值不值得引入?
开发语言·python
Miao121314 小时前
微服务 API 测试实践:海外某民宿平台如何构建模式驱动测试基础设施
java·开发语言
雨白5 小时前
掌握 NestedScrolling 嵌套滑动:手写仿知乎折叠主页
android
CRMEB系统商城6 小时前
开源自建还是SaaS订阅?算一笔3年经济账
java·大数据·开发语言·开源
keyipatience7 小时前
线程栈与TLS和线程互斥
java·linux·服务器·开发语言·ubuntu
我的xiaodoujiao7 小时前
快速学习Python基础知识详细图文教程9--函数进阶
开发语言·python·学习·测试工具