我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:盛源彩票 > 反序列化 >

Typecho installphp存在的反序列化漏洞分析(含EXP)

归档日期:05-02       文本归类:反序列化      文章编辑:爱尚语录

  注:Payload可以通过插入Cookie提交,也可以通过POST提交。

  一开始收到短信,我还以为是评论区造成的。先登陆阿里云后台看看是什么问题。

  本以为只是无伤大雅的小洞,看了之后一惊,Webshell,吓得我赶紧登陆服务器,虽然服务器上没什么值得窃取的。

  果然是个昵称,混迹于FreeBuf,最近一篇文章就是关于Typecho反序列化漏洞相关的。本以为是他把我怼了,看了文章之后才发现原来只是漏洞利用检测工具的作者。

  从文章中,得知漏洞存在于install.php文件,附上了漏洞检测工具,不过并没有报告漏洞细节。

  看到这,那我们input的内容就是要构造一个‘__typecho_config’,来output我们想要的东西。

  如果传入的$adapterName,是一个类,那么在将这个类进行字符串拼接的时候就会触发这个类的__toString()方法

  注:这里涉及PHP的魔术方法,简单说一下,魔术方法就是在某些情况下会自动去调用的方法,比如很多面向对象编程语言都存在的构造函数、析构函数等等,都可以理解为魔术方法。

  那我们就来全局搜索一下,看看那些类使用了__toString()方法,可以让我们进行利用。

  在Query.php中存在可以触发_call()的魔术方法,全局搜索跟进_call()魔术方法之后没有可利用的点,我们直接查看Feed.php

  我们回顾一下上面说的魔术方法,其中__get()这个方法在读取不可访问的数据时触发

  3、在实例化过程中,采用了字符串拼接访问了‘adapter’,当我们设置的‘adapter’字段是一个类的话,就会触发这个类的__toString()魔术方法

  好的,至此我们还没有寻找的可利用的output点,我们继续全局搜索一下可利用的 ‘__get()’ 方法

  这下就好玩了,这两个函数都是代码执行相关的函数,也就是我们想要的output了

  3、在实例化过程中,采用了字符串拼接访问了‘adapter’,当我们设置的‘adapter’字段是一个类的话,就会触发这个类的__toString()魔术方法

本文链接:http://buggystordera.com/fanxuliehua/131.html