【Java代码审计】硬编码密码篇

【Java代码审计】硬编码密码篇

  • 1.硬编码
  • 2.案例
  • 3.修复方案

1.硬编码

硬编码密码是指在系统中采用明文的形式存储密码,通常会导致严重的身份验证失败,这对于系统管理员而言可能很难检测到,一旦检测到,也很难修复。硬编码密码会造成密码泄露

  • 开发人员的安全意识不强:将代码托管到github等互联网平台,可能会造成源代码泄露,任何有该代码权限的人都能读取此密码
  • 程序员可以简单地将后端凭证硬编码到前端软件中:该程序的任何用户都可以提取密码。因为从二进制文件中提取密码非常简单,所以会对带有硬编码密码的客户端系统构成很大的威胁。

2.案例

例如,程序将用户名和密码硬编码到代码中:

String user = "admin";
String pass = "admin";

攻击者可以通过javap-c命令来访问反汇编的代码,反汇编的代码将包含所使用的密码值


3.修复方案

1、首先将数据库连接的用户名密码加密放入db.properties文件中

2、通过代码读取数据库配置文件,最后进行数据库的连接,这样就避免了硬编码产生的漏洞

你可能感兴趣的:(#,Code,Audit,java,安全,开发语言)