CTFshow 反序列化 web262

本文介绍了CTF比赛中的一道题目,重点在于利用PHP的反序列化漏洞。通过构造特定的序列化字符串并进行Base64编码,可以改变cookie中的token值,从而达到解题目的。作者分享了两种解题方法,一种是直接构造类进行序列化,另一种则是利用字符逃逸技巧。解题关键在于理解序列化过程中字符长度的变化以及如何逃逸出额外的字符。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


源码

<?php

/*
# -*- coding: utf-8 -*-
# @Author: h1xa
# @Date:   2020-12-03 02:37:19
# @Last Modified by:   h1xa
# @Last Modified time: 2020-12-03 16:05:38
# @message.php
# @email: h1xa@ctfer.com
# @link: https://ctfer.com

*/


error_reporting(0);
class message{
   
    public $from;
    public $msg;
    public $to;
    public $token='user';
    public function __construct($f,$m,$t){
   
        $this->from = $f;
        $this->msg = $m;
        $this->to = $t;
    }
}

$f = $_GET['f'];
$m = $_GET['m'];
$t = $_GET['t'];

if(isset($f) && isset($m) && isset($t)){
   
    $msg = new message($f,$m,$t);
    $umsg = str_replace('fuck', 'loveU', serialize($msg));
    setcookie('msg',base64_encode($umsg));
    echo 'Your message has been sent';
}

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值