Java web项目加密数据库配置文件中的用户名密码字段

admin 2022年8月29日10:50:54评论272 views字数 1003阅读3分20秒阅读模式
Java web项目加密数据库配置文件中的用户名密码字段

免责声明

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


01 前言

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


02 情况描述

没加密

Java web项目加密数据库配置文件中的用户名密码字段


加密后

Java web项目加密数据库配置文件中的用户名密码字段


03 实现过程

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


1、引入 pom 依赖

Java web项目加密数据库配置文件中的用户名密码字段

Java web项目加密数据库配置文件中的用户名密码字段


Java web项目加密数据库配置文件中的用户名密码字段


2、编写加密工具类


Java web项目加密数据库配置文件中的用户名密码字段

Java web项目加密数据库配置文件中的用户名密码字段


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


Java web项目加密数据库配置文件中的用户名密码字段

3、替换账号密码


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

Java web项目加密数据库配置文件中的用户名密码字段

Java web项目加密数据库配置文件中的用户名密码字段

Java web项目加密数据库配置文件中的用户名密码字段

04 注意说明


这里说明三点

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

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

  • 使用 ENC() 包住密文;


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



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

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

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

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


渗透测试集成工具

2022-08-27

Java web项目加密数据库配置文件中的用户名密码字段

记一次曲折的渗透测试

2022-08-26

Java web项目加密数据库配置文件中的用户名密码字段

某红队面试题总结

2022-08-25

Java web项目加密数据库配置文件中的用户名密码字段

Java web项目加密数据库配置文件中的用户名密码字段

原文始发于微信公众号(李白你好):Java web项目加密数据库配置文件中的用户名密码字段

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年8月29日10:50:54
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Java web项目加密数据库配置文件中的用户名密码字段https://cn-sec.com/archives/1260712.html

发表评论

匿名网友 填写信息