Java web项目加密数据库配置文件中的用户名密码字段
2022-8-29 08:25:16 Author: 李白你好(查看原文) 阅读量:13 收藏

免责声明

由于传播、利用本公众号李白你好所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号李白你好及作者不为此承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢!

01 前言

这篇文章算是一个小小得练习,作为不会代码的人真是折磨。在Java Web项目中,数据库连接文件中的数据库账号密码如果没有加密会导致有安全风险,所以我们要加密工具类对数据库账号密码进行加密。本项目是华夏ERP Java web源码针对他的数据库连接文件做加密。平常做黑盒测试没有注重代码的重要性,在白盒测试时很是吃力。

02 情况描述

没加密

加密后

03 实现过程

引入 jasypt 对数据库连接文件中的账号密码进行加密

1、引入 pom 依赖

2、编写加密工具类

因为我们要得到加密后的密文,所以我们先需要根据原始账号密码,以及我们指定的秘钥来生成加密后的密文,这里我们假设本地和测试环境的秘钥为NSFOCUS,通过上面的工具类,我们可以生成如下的密文

3、替换账号密码

我们将 application.properties 里面的账号密码用上面的密文替换,如下所示,使用 ENC()包住密文。

04 注意说明

这里说明三点

  • 此时我们还不能正常启动服务,因为就这样的话是启动不成功了,账号和密码是错误的,我们需要将秘钥传入,让jasypt 给我们反向解析出正确的账号和密码才能进行数据库的链接;

  • 工具类中的秘钥保持跟生产环境不一样!!!

  • 使用 ENC() 包住密文;

接下来我们可以将秘钥通过两种形式传进程序中使用,一种是将秘钥通过系统环境变量的形式进行配置,不过不建议;第二种是通过启动参数将秘钥进行传入;这里我们使用第二种,在 SpringBoot 项目的启动参数中,我们增加这样的配置 -Djasypt.encryptor.password=NSFOCUS,然后我们再重启应用,就可以启动成功了。

文章来源:网络安全情报攻防站

原文地址:https://t.zsxq.com/04NZbUZvR

参考链接:https://www.51cto.com/article/702692.html

如需转载本样式风格、字体版权请保留出处:李白你好

渗透测试集成工具

2022-08-27

记一次曲折的渗透测试

2022-08-26

某红队面试题总结

2022-08-25


文章来源: http://mp.weixin.qq.com/s?__biz=MzkwMzMwODg2Mw==&mid=2247493436&idx=1&sn=aac048b990c10c7feaa581f33ed29f1c&chksm=c09a946cf7ed1d7a97f9637b288f3544b26e1d5e7947aeb9758d9c7b1285ef41b386c9bf1976#rd
如有侵权请联系:admin#unsafe.sh