您当前的位置: 首页 > 

ThnPkm

暂无认证

  • 1浏览

    0关注

    98博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

ctfshow 反序列化2

ThnPkm 发布时间:2022-07-13 13:57:31 ,浏览量:1

web263  

PHP的session反序列化 

带你走进PHP session反序列化漏洞 - 先知社区  原理解释不错CTFshow-web入门-反序列化_哔哩哔哩_bilibili

 可参考CTFshow 反序列化 web263_Kradress的博客-CSDN博客

 

在index.php中

if(isset($_SESSION['limit'])){
		$_SESSION['limti']>5?die("登陆失败次数超过限制"):$_SESSION['limit']=base64_decode($_COOKIE['limit']);
		$_COOKIE['limit'] = base64_encode(base64_decode($_COOKIE['limit']) +1);
	}else{

$_SESSION['limit']的键值写错了,那就可以通过COOKIE来控制$_SESSION['limit']的值,从而进行当前页面的反序列化

在check.php中,引用了inc.php

require_once 'inc/inc.php';

在inc.php中出现关键函数

可以写入文件 构造payload

ini_set('session.serialize_handler', 'php');
session_start();

class User{
    public $username;
    public $password;
    public $status;
    function __construct($username,$password){
        $this->username = $username;
        $this->password = $password;
    }
    function setStatus($s){
        $this->status=$s;
    }
    function __destruct(){
        file_put_contents("log-".$this->username, "使用".$this->password."登陆".($this->status?"成功":"失败")."----".date_create()->format('Y-m-d H:i:s'));
    }
}

开始构造payload: 从关键的user类开始下手

' > /var/www/html/basic/web/1.php"; 

访问1.php进行rce

web268~270

yii反序列化第二个链子

            
关注
打赏
1660722558
查看更多评论
0.0346s