0x01 如何找

实战来说,拿到一个shell,肯定是会想上数据库看看的,那么java项目下,数据库配置一般会放哪里呢?

  1. 传统的Web应用的数据库配置:
  2. 一般来说存放在WEB-INF目录下的 *.properties、*.yml、*.xml
  1. SpringBoot项目的数据库配置:
  2. 一般来说,查找./src/main/resources/目录下即可
  1. SpringBootjar应用项目的数据库配置:
  2. 配置文件大概率需要解压缩jar包,在BOOT-INF目录下的classes文件夹里查看
  1. 常见的存储数据库配置信息的文件路径如:
  2. db.xml
  3. applicationContext.xml
  4. hibernate.cfg.xml
  5. c3p0-config.xml
  6. server.xml
  7. jdbc.properties
  8. db.properties
  9. application.yml
  10. application.properties
  11. ./WEB-INF/db.xml
  12. ./WEB-INF/applicationContext.xml
  13. ./WEB-INF/hibernate.cfg.xml
  14. ./WEB-INF/jdbc.properties
  15. ./WEB-INF/jdbc/jdbc.properties
  16. ./resources/db.yml
  17. ./resources/db.properties
  18. ./resources/application.yml
  19. ./resources/application.properties

0x02 常见的驱动程序类名称

常见的驱动程序类名称 备注
com.mysql.jdbc.Driver mysql-connector-java 5中的
com.mysql.cj.jdbc.Driver mysql-connector-java 6中的
oracle.jdbc.driver.OracleDriver oracle的驱动类
com.microsoft.sqlserver.jdbc.SQLServerDriver SQL Server 2005 and 2008 JDBC drive使用
com.microsoft.jdbc.sqlserver.SQLServerDriver SQL Server 2000 JDBC driver使用
dm.jdbc.driver.DmDriver 达梦数据库-国产数据库

0x03 快速查找

这招是园长教的,也是我最喜欢的方法

  1. 注意: 这招无法查找SpringBootjar应用项目的数据库配置!!!!
  2. 注意: 这招无法查找SpringBootjar应用项目的数据库配置!!!!
  3. 注意: 这招无法查找SpringBootjar应用项目的数据库配置!!!!
  4. 注意: 这招无法查找SpringBootjar应用项目的数据库配置!!!!
  5. 注意: 这招无法查找SpringBootjar应用项目的数据库配置!!!!
  6. 注意: 这招无法查找SpringBootjar应用项目的数据库配置!!!!
  7. 语法: find "[路径]" -type f |xargs grep "[驱动程序类名称]"
  1. 例子: 查找Mysql配置信息
  2. 例如我的项目路径是: /Users/pmiaowu/Desktop/JavaTestproject/SpringBootDemo
  3. 使用的驱动程序类名称是: com.mysql.jdbc.Driver
  4. 使用: find "/Users/pmiaowu/Desktop/JavaTestproject/SpringBootDemo" -type f |xargs grep "com.mysql.jdbc.Driver"

image.png

0x04 致谢

感谢shxjia提出的补充
:)