开贴缘由
项目上由于需求的需要,前期部署了一套kkFileView的服务,但是近期对服务器进行漏洞扫描被抓到了一个漏洞风险,网上关于此类问题的修复教程比较少,特此开贴记录本次修复过程
问题的暴漏
近期项目上对服务器进行了安全检测漏洞扫描,部署kkFileView的服务器被扫描出了问题,如下图所示:
寻找解决的方案
这类问题之前确实是没有见到过,只能发动被动技能面相互联网编程
在网上所搜了一圈后目前主要给到的结果,目前存在该问题的版本范围:4.2.0 <= kkFileView <= 4.4.0-beta
。
通过进一步的搜索,发现解决的问题的方案主要有2种
- 使用新版本的进行部署 (适用于docker部署)
- 从gitee或是github上拉取最新的代码,手动进行打包(也可用于docker部署)
由于目前部署的方式是通过docker 部署的,所以想着通过拉取最新的docker 镜像版本来做替换,但是发现目前docker上最新的镜像版本只到4.1.0
,所以只能尝试第二种方式
意外收获
在搜索解决方案的过程中,意外发现了另一种解决方案,github上发现了作者对此类问题的回复
链接: kkFileView-v4.3.0~v4.40-beta 存在RCE漏洞
既然可以通过修改配置文件来规避这个问题,那么问题就变得简单起来了
最终解决
-
查看docker 运行的状态,检视容器运行信息
- docker ps
- docker inspect <容器ID>
- 得到容器启动时候的配置文件路径
-
根据docker文件目录规则,找到这个文件,并修改
- 例如我这个的文件地址为:
/var/lib/docker/overlay2/76b45c2e5886d7c8db469fa1849afbb9fa8eefe55203d7a1aa59182483d44abd/diff/opt/kkFileView-4.2.0-SNAPSHOT/config/application.properties
- 修改文件中的属性,下图为修改后的结果
- 例如我这个的文件地址为:
-
重启容器
- docker restart <容器ID>
-
验证
- 待容器重启完毕后,打开
部署服务的IP:8012/index
- 待容器重启完毕后,打开
结语
通过以上操作,此问题完美解决,配置文件中其他配置的修改也可以影响到其他的功能,例如水印信息等,大家修改时一定要谨慎,如果有其他解决方案,欢迎大家在评论区进行讨论