首页 > 编程语言 >PHP反序列化题型_绕过preg_match1

PHP反序列化题型_绕过preg_match1

时间:2023-11-11 15:32:28浏览次数:36  
标签:username function password PHP match1 preg __ 序列化 public

ctfshow web266

<?php

highlight_file(__FILE__);

include('flag.php');
$cs = file_get_contents('php://input');


class ctfshow{
    public $username='xxxxxx';
    public $password='xxxxxx';
    public function __construct($u,$p){
        $this->username=$u;
        $this->password=$p;
    }
    public function login(){
        return $this->username===$this->password;
    }
    public function __toString(){
        return $this->username;
    }
    public function __destruct(){
        global $flag;
        echo $flag;
    }
}
$ctfshowo=@unserialize($cs);
if(preg_match('/ctfshow/', $cs)){
    throw new Exception("Error $ctfshowo",1);
}
?>

本题利用的是php的类目和方法名不缺分大小写特性(变量名敏感),利用大写类名绕过preg_match检查。

但是本题也有一个坑点,payload不能再urlencode,因为是通过php://input提交,并不会在后台进行urldecode,如果换作get提交则可用urlencode后再提交

<?php
class Ctfshow{
    public $username='xxxxxx';
    public $password='xxxxxx';

}

$a =new Ctfshow();

//echo urlencode(serialize($a));
echo serialize($a);
?>

payload:

O:7:"Ctfshow":2:{s:8:"username";s:6:"xxxxxx";s:8:"password";s:6:"xxxxxx";}

PHP反序列化题型_绕过preg_match1_php

标签:username,function,password,PHP,match1,preg,__,序列化,public
From: https://blog.51cto.com/u_16350624/8318337

相关文章

  • php开发之文件读取、写入
    前言续之前的系列,这里php开发的文件操作的内容读取以及文本写入的部分文件读取代码的实现css代码本系列的php博客都是这个css,名字都是index.css/*css样式初始化*/*{font-family:'Poppins',sans-serif;margin:0;padding:0;box-sizing:border-box......
  • php开发之文件下载的实现
    前言php是网络安全学习里必不可少的一环,简单理解php的开发环节能更好的帮助我们去学习php以及其他语言的web漏洞原理正文在正常的开发中,文件下载的功能是必不可少,比如我们在论坛看到好看图片好听的歌时,将其下载下来时就涉及到文件的下载等等文件功能。但也会出现漏洞,或者一些bu......
  • PHP反序列化题型_地址传参
    CTFSHOWweb265<?phperror_reporting(0);include('flag.php');highlight_file(__FILE__);classctfshowAdmin{public$token;public$password;publicfunction__construct($t,$p){$this->token=$t;$this->pass......
  • php开发之文件上传的实现
    前言php是网络安全学习里必不可少的一环,简单理解php的开发环节能更好的帮助我们去学习php以及其他语言的web漏洞原理正文在正常的开发中,文件的功能是必不可少,比如我们在论坛的头像想更改时就涉及到文件的上传等等文件功能。但也会出现漏洞,或者一些bug。这部分是php开发部分的文......
  • PHP中文件锁
    PHP中文件锁文件锁的用途:若一个人在写入一个文件,另外一个人同时也打个了这个文件进行写入文件。这情况下,如果遇到一定的碰撞概率的话,不知道到底谁的操作为准。因此,这个时候我们引入锁机制。若用户A在写入或者读取这个文件的时候,将文件加上共享锁。我可以读,其他人也可以读。但是,......
  • PHP 批量上传文件 大全
    案例一:<?php$file_path="uploads/";for($i=0;$i<count($_FILES[ufile][name]);$i++){  $_FILES[ufile][name][$i]=time().$_FILES[ufile][name][$i];//加个时间戳防止重复文件上传后被覆盖  }print_r($_FILES[ufile][name]);$filename=$_FILES[ufile][name];$filet=$_FIL......
  • php安装扩展的几种方式
    转载:https://v3.test.zc10.cn/archives/4369相关资料: https://www.php.cn/faq/375900.html方法一、使用apt或者yum命令安装例如: yuminstallphp72w-bcmath安装7.2bc库, 然后使用php-m查看是否安装成功方法二、使用pecl安装方法三、源码编译安装(一般是安装PHP自......
  • PHP大文件分片上传的实现方法
    一、前言在网站开发中,经常会有上传文件的需求,有的文件size太大直接上传,经常会导致上传过程中耗时太久,大量占用带宽资源,因此有了分片上传。分片上传主要是前端将一个较大的文件分成等分的几片,标识当前分片是第几片和总共几片,待所有的分片均上传成功的时候,在后台进行合成文件即可......
  • php批量上传大文件,php实现批量上传图片的技巧
    我们在很多时候并不是上传一张图片就可以了需要同时上传N张图片,这个时候该怎么办了?我这里以前写了个例程大家看看,或许可以启发思路!php提交图片页面程序部分,可以实现动态显示图片的数量:enctype=”multipart/form-data”method=”post”name=”Form1″id=”Form1″>functiont......
  • PHP编写采集药品官方数据的程序
    在PHP中编写爬虫程序,首先我们需要引入一些必要的库,如curl和file_get_contents。然后,我们需要设置爬虫ip信息,以便我们可以从指定的爬虫ip服务器上获取数据。//引入必要的库require_once'curl.php';//设置爬虫ip信息$proxy_host='duoip';$proxy_port=8000;//创建......