ctfshow 反序列化源码(持续更新)

由于CTFshow的vip太贵了但是反序列化的题没源码又不好练习于是我把网上找的ctfshow的原题图片的代码加自己的理解又写了一遍,更到哪一题就看我能学到哪吧,为了爬虫大佬好爬特意加了标识。

+++++

第254题

*********

<?php
highlight_file(__FILE__);
include('./flag.php');
class B{
    public $usname = '123456';
    public $passwd = '123456';
    public $isVip = false;

    public function checkVip()
    {
        return $this->isVip;
    }

    public function login($u,$p)
    {
        if($this->usname==$u && $this->passwd==$p)
        {
            $this->isVip = true;
        }
        return $this->isVip;
    }

    public function getflag()
    {
        if($this->isVip)
        {
            global $flag;
            echo '你的益达'.$flag;
        }
        else
        {
            echo '不是VIP还想白嫖';
        }
    }

}

$usn = $_GET['usname'];
$pwd = $_GET['passwd'];

if(isset($usn) && isset($pwd))
{
    $user = new B();
    if($user->login($usn,$pwd))
    {
        if($user->checkVip())
        {
            $user->getflag();
        }
    }
    else
    {
        echo '孩子看代码了吗';
    }
}

xxxxxxxxx

+++++

第255题

*********

<?php
highlight_file(__FILE__);
include('./flag.php');
class B{
    public $usname = '123456';
    public $passwd = '123456';
    public $isVip = false;

    public function checkVip()
    {
        return $this->isVip;
    }

    public function login($u,$p)
    {
        return $this->usname==$u && $this->passwd==$p;
    }

    public function getflag()
    {
        if($this->isVip)
        {
            global $flag;
            echo '你的益达'.$flag;
        }
        else
        {
            echo '不是VIP还想白嫖';
        }
    }

}

$usn = $_GET['usname'];
$pwd = $_GET['passwd'];

if(isset($usn) && isset($pwd))
{
    $user = unserialize($_COOKIE['user']);
    if($user->login($usn,$pwd))
    {
        if($user->checkVip())
        {
            $user->getflag();
        }
    }
    else
    {
        echo '孩子看代码了吗';
    }
}

xxxxxxxxx

+++++

第256题

*********

<?php
highlight_file(__FILE__);
include('./flag.php');
class B{
    public $usname = '123456';
    public $passwd = '123456';
    public $isVip = false;

    public function checkVip()
    {
        return $this->isVip;
    }

    public function login($u,$p)
    {
        return $this->usname==$u && $this->passwd==$p;
    }

    public function getflag()
    {
        if($this->isVip)
        {
            global $flag;
            if($this->usname != $this->passwd)
            {
                echo '你的益达'.$flag;
            }
        }
        else
        {
            echo '不是VIP还想白嫖';
        }
    }

}

$usn = $_GET['usname'];
$pwd = $_GET['passwd'];

if(isset($usn) && isset($pwd))
{
    $user = unserialize($_COOKIE['user']);
    if($user->login($usn,$pwd))
    {
        if($user->checkVip())
        {
            $user->getflag();
        }
    }
    else
    {
        echo '孩子看代码了吗';
    }
}

xxxxxxxxx

+++++

第257题

*********

<?php
highlight_file(__FILE__);
include('./flag.php');
class B{
    private $usname = '123456';
    private $passwd = '123456';
    private $isVip = false;
    public $class = 'info';

    public function __construct()
    {
        $this->class = new info();
    }

    public function login($u,$p)
    {
        return $this->usname==$u && $this->passwd==$p;
    }

    public function __destruct()
    {
        $this->class->getinfo();
    }
}

class info{
    private $user = '123456';
    public function getinfo()
    {
        return $this->user;
    }
}

class backdoor{
    private $code;
    public function getinfo()
    {
        eval($this->code);
        //放windows上执行命令有一点问题可以直接输出来验证
        // echo "flag{12456}";
    }
}

$usn = $_GET['usname'];
$pwd = $_GET['passwd'];

if(isset($usn) && isset($pwd))
{
    $user = unserialize($_COOKIE['user']);
    $user->login($usn,$pwd);
}

xxxxxxxxx

+++++

第258题

*********

<?php
highlight_file(__FILE__);
include('./flag.php');
class B{
    private $usname = '123456';
    private $passwd = '123456';
    private $isVip = false;
    public $class = 'info';

    public function __construct()
    {
        $this->class = new info();
    }

    public function login($u,$p)
    {
        return $this->usname==$u && $this->passwd==$p;
    }

    public function __destruct()
    {
        $this->class->getinfo();
    }
}

class info{
    private $user = '123456';
    public function getinfo()
    {
        return $this->user;
    }
}

class backdoor{
    private $code;
    public function getinfo()
    {
        eval($this->code);
        //放windows上执行命令有一点问题可以直接输出来验证
        // echo "flag{12456}";
    }
}

$usn = $_GET['usname'];
$pwd = $_GET['passwd'];

if(isset($usn) && isset($pwd))
{
    if(!preg_match('/[oc]:\d+:/i',$_COOKIE['user']))
    {
        $user = unserialize($_COOKIE['user']);
    }
    $user->login($usn,$pwd);
}

xxxxxxxxx

+++++

第362题

*********

from flask import Flask,request,render_template_string

from jinja2 import Template

app = Flask(__name__)

#设置路由

@app.route('/')

def index():

    # name为参数

    name = request.args.get('name',default='Non1')

    # 过滤2和3

    if '2' in name or '3' in name:

        return '<h1>:(</h1>'

   

    t = '''

    <html>

        <h1>Hello %s</h1>

    </html>    

    ''' %(name)

    # 渲染模板

    return render_template_string(t)

app.run()

xxxxxxxxx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值