aboood
- 关注
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0x01 CMS概况
pb-cms瀑布内容管理系统,采用SpringBoot + Apache Shiro + Mybatis Plus + Thymeleaf 实现的内容管理系统(附带权限管理),是搭建博客、网站的不二之选,官方预览地址 https://www.puboot.com ,下载地址 https://gitee.com/LinZhaoguan/pb-cms 。
文章中审计的为该CMS早期的1.0版本,文章中的漏洞在2.0的版本中已修复。
0x02 Thymeleaf模板注入漏洞
查看配置文件和pom文件,系统使用的模板引擎为thymeleaf,在spring-boot-starter-thymeleaf 2.2.6.RELEASE版本中存在模板注入漏洞,在代码中全局搜索,BlogWebController.java中存在可以利用的漏洞点,thymeleaf模板注入的原理请自行百度。
在bizThemeService.selectCurrent().getName()方法中追溯,功能为查找数据库内biz_theme表中的name字段,字段值为系统内正在使用的主题名称。
后台主题信息中将主题的名称修改为
__${new java.util.Scanner(T(java.lang.Runtime).getRuntime().exec("calc").getInputStream()).next()}__::.x
填写payload后未能成功执行命令,调试发现此漏洞利用存在两处限制。
一、系统使用的redis缓存,需要删除其中的主题信息缓存,系统才会重新在数据库内读取新的值。
二、biz_theme表中name字段的最大值为50字符,payload的字符数远大于50,为了漏洞触发需要将字符数调整为200 。
调整后重新访问主页,成功触发命令执行。
0x03 shiro权限绕过漏洞
CMS使用的权限控制框架为shiro1.4.1,此版本中存在多个权限绕过cve,本次利用的漏洞为CVE-2020-1957,漏
畅读付费文章
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
