网站首页 > PHP教程> 文章内容

详解PHPphar协议对象注入技术反序列化操作快速入门!

※发布时间:2018-11-23 14:03:21   ※发布作者:habao   ※出自何处: 

  该方法在文件系统函数(file_exists()、is_dir()等)参数可控的情况下,配合phar://伪协议,可以不依赖unserialize()直接进行反序列化操作。

  当在PHP中创建了一个对象后,可以通过serialize()把这个对象转变成一个字符串,保存对象的值方便之后的传递与使用。

  这里的O代表存储的是对象(object),假如传入的是一个数组,那就是字母a。6表示对象的名称有6个字符。“mytest“表示对象的名称。1表示有一个值。{s:4:test;s:3:123;}中,s表示字符串,4表示字符串的长度,“test”为字符串的名称,之后的类似。

  与serialize()对应的,unserialize()可以对单一的已序列化的变量进行操作,将其转换回PHP 的值。

  反序列化漏洞就是当传给unserialize()的参数可控时,可以通过传入一个精心构造的序列化字符串,来控制对象内部的变量甚至是函数。

  可以理解为一个标志,格式为,前期内容不限,但必须以__HALT_COMPILER();?来结尾,否则phar扩展将无法识别其为phar文件。

  phar文件本质上是一种压缩文件,其中每个被压缩文件的权限、属性等信息都存放在这一部分中。这部分将会以序列化的形式存储用户自定义的meta-data。

  漏洞触发点在使用phar://协议读取文件的时候,文件内容会被解析成phar对象,然后phar对象内的meta-data会被反序列化。

  Sam Thomas举例的漏洞主要通过利用魔术方法__destruct或__wakeup构造利用链,但是在实战里往往较难找到可以直接通过魔术方法触发的漏洞点。

  有序列化数据必然会有反序列化操作,PHP一大部分的文件系统函数在通过phar://伪协议解析phar文件时,都会将meta-data进行反序列化,测试后受影响的函数如下:

  在文件系统函数的参数可控时,可以在不调用unserialize()的情况下进行反序列化操作。

  由于通过反序列化可以产生任意一种数据类型,可联想到PHP的一个漏洞:PHP内核哈希表碰撞(CVE-2011-4885)。在PHP内核中,数组是以哈希表的方式实现的,者可以通过巧妙构造数组元素的key使哈希表退化成单链表(时间复杂度从O(1)=O(n))来触发服务。

  PHP修复此漏洞的方式是通过$_GET或$_POST等方式传入的参数数量,但是如果PHP脚本通过json_decode()或unserialize()等方式获取参数,则依然将受到此漏洞的。

  漏洞利用思:构造一串恶意的serialize数据(能够触发哈希表服务),然后将其保存到phar文件的metadata数据区,当文件操作函数通过phar://协议对其进行操作的时候就会触发服务漏洞。

  PHP识别phar文件是通过文件头的stub,即__HALT_COMPILER();?,对前面的内容或者后缀名没有要求。可以通过添加任意文件头加上修改后缀名的方式将phar文件伪装成其他格式的文件。

  WordPress是网络上最广泛使用的cms,这个漏洞在2017年2月份就被报告给了,但至今仍未被修补。之前的任意文件删除漏洞也是出现在这部分代码中,同样没有修补。根据利用条件,我们先要构造phar文件。

  如果$file是类似于Windows盘符的径Z:\Z,正则匹配就会失败,$file就不会拼接其他东西,此时就可以basename($file)与$file相同。

  这个类继承了ArrayIterator,每当这个类实例化的对象进入foreach被遍历的时候,current()方法就会被调用。杨得志炮轰南阳

  由于WordPress核心代码中没有合适的类能够利用,这里利用woocommerce插件中的一个类:

  本文由来源于325棋牌 325游戏中心唯一官方网站

相关阅读
重庆学习网zslpsh,0755深圳房产人才招聘网,拾年网90后,anedc股票,最新电影下载淘娱淘乐,重庆中学生网高考,重庆中学生网高考,学习重庆方言网,重庆中学生学习方法,重庆俗语网,中学生网zslpsh,0755深圳交友网,重庆初中生,贵州重庆方言网,025新闻网,西南重庆方言歌曲,025南京交友网,重庆农家乐美女,观赏蟹种类zadull,云南重庆方言网,重庆中学学习网,028成都交友网,推广taoyutaol,西南四川方言网,观赏龟论坛zadull,四川重庆方言网,022天津交友网,重庆中学生网家长,鹦鹉鱼zadull,重庆俗语,电影淘娱淘乐,taoyutaole娱乐,华夏视讯网,0755深圳旅游招聘,昆明重庆方言网,淘娱淘乐影视,www.00game.net,观赏鱼zadul,重庆高考zslpsh,重庆中学生网高考,027房产招聘网,坝坝舞wagcw,西南重庆方言网,贵州重庆方言网,重庆言子儿网,热带鱼zadull,重庆高考zslpsh,0755深圳旅游招聘网,淘娱淘乐影视网,0571.361.cm,重庆方言学习网,028成都新闻,异形观赏鱼种类,影视网淘娱淘乐,最新电影下载淘娱淘乐,0773桂林论坛,拾年网80后动画片,观赏蟹论坛zadull,观赏龟繁殖教程,重庆一中zslpsh,重庆俗语网,广场舞wagcw,观赏虾的种类zadull,观赏鱼观赏虾观赏龟,西南方言网,观赏鱼之家论坛zadull,战争前线辅助00game,西南重庆方言小说,重庆中小学zslpsh,推广taoyutaol,战争前线论坛00game,0871交友网,025南京新闻网,重庆言子儿网站,娱乐taoyutaole,022天津交友网,025新闻网,重庆中学生网学习,022天津交友网,重庆方言歌网,www.120.cm健康网,anedc股票,重庆初中生