前言

为了进一步学习源码审计、提升代码能力,在 Gitee 上找了一个开源的 CMS 项目:PublicCMS ,该项目的知名度还是挺可以的(实际上我在项目中还遇到了客户用该系统的……):
在这里插入图片描述官方给出了公网演示站点可直接进行项目体验:

  • 演示站点:https://www.publiccms.com/;
  • 后台演示:https://cms.publiccms.com/admin/(演示账号/密码 test/test)。

Public CMS 的架构图如下所示:
在这里插入图片描述本文将下载项目源码进行 IDEA 本地部署搭建,尝试进行源码审计、黑盒测试的方式,对该项目的安全性进行评估测试。

IDEA部署

PC 端需要提前安装好 Java(jdk1.8及以上)、IDEA、MySQL等环境。关于 PublicCMS 的部署、使用,其官网给出了指导手册:www.publiccms.com,下面来实际部署一遍。

导入源代码

1、从 Gitee 或 Github 下载项目源码,IDEA 并 open 选择导入 PublicCMS\publiccms-parent 路劲下的 pom.xml 文件:
在这里插入图片描述
2、随后 IDEA 将自动依据 pom.xml 下载项目依赖包,进一步在 run/Debug Configurations 将 war 包部署到 Tomcat 中:
在这里插入图片描述在这里插入图片描述3、运行启动项目:
在这里插入图片描述浏览器自动弹出安装引导页面:
在这里插入图片描述4、点击下一步,需要配置 Mysql 数据库信息(安装配置 Mysql 数据库请参见:MySQL数据库安装与配置详解windows下MySQL忘记密码重置root密码),如下图所示:
在这里插入图片描述

创建数据库

1、接下来需要先创建、配置 Mysql 数据库,找到 publiccms-parent/publiccms-core/src/main/resources/initialization/sql,点击配置:
在这里插入图片描述在这里插入图片描述2、此时并未创建数据库,还需要手动创建数据库,如下图所示:
在这里插入图片描述3、此时 publiccms 数据库为空,需要运行 initDatabase.sql 文件创建数据库表才行,CMD 进入 Mysql 然后执行命令source sql文件的路径即可:
在这里插入图片描述成功 publiccms 数据库创建的表:
在这里插入图片描述
4、此时返回 IDEA 连接刚才设置的数据库,便能成功连接数据库并看到对应的表信息:
在这里插入图片描述5、创建完数据库,返回浏览器继续进行 PublicCMS 安装引导流程(我猜测创建表格无需刚才手动操作……只需手动创建数据库名称并选择“初始化数据库”即可):
在这里插入图片描述既然我已经手动创建数据库表了,那就勾选“直接启动”吧……
在这里插入图片描述6、成功搭建本地 PublicCMS 系统:
在这里插入图片描述点击访问后台,依据默认密码 admin/admin 进行登录:
在这里插入图片描述然而登录后发现显示存在乱码:
在这里插入图片描述7、原因是 MySQL 数据库默认的字符是 latin1,需要修改 Mysql 数据库的编码格式(参见mysql8.0设置字符编码_MySQL 8.0 版本修改字符编码),改为 UTF-8,重建数据库重新运行程序,如下图所示:
在这里插入图片描述

安全测试

未完待续……

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐