一文解密所有WebLogic密文
字数 1615 2025-08-18 11:39:08

WebLogic密文解密完全指南

一、WebLogic加密概述

WebLogic目前使用两种加密方式:

  • 3DES:旧版本WebLogic使用的加密标准
  • AES:WebLogic 11gR1(10.3.6)及之后版本使用的加密标准

加密方式识别

  • AES密文格式:{AES}ObwFrA5PSOW+/7+vgtZpxk/1Esw81ukoknfH4QUYjWY=
  • 3DES密文格式:{3DES}JMRazF/vClP1WAgy1czd2Q==

WebLogic版本与加密方式对应关系

版本系列 具体版本 加密方式
WebLogic 12c系列 12.2.1.4, 12.2.1.3等 AES
WebLogic 11gR1 PS5 10.3.6 AES
WebLogic 11gR1 PS4及以下 10.3.5及以下 3DES

二、解密前的准备工作

必需文件

  1. 密钥文件SerializedSystemIni.dat

    • 位置:/weblogic_domain/security/SerializedSystemIni.dat
    • 注意:该文件为二进制文件,大小应为64字节
  2. 密文来源

    • 数据库连接字符串:/config/jdbc/*jdbc.xml
    • 控制台密码:/security/boot.properties

三、七种解密方法详解

方法1:官方WLST解密方法

适用场景:服务器本地执行
成功率:较低
步骤

  1. 创建decryptWLSPwd.py文件
  2. 执行命令:
    java weblogic.WLST decryptWLSPwd.py <domain_path> "<encrypted_password>"
    

方法2:NetSPI工具解密

适用场景:本地执行
成功率:一般
Java版步骤

  1. 下载bcprov-jdk15on-162.jar并放置到$JAVA_HOME/jre/lib/ext/
  2. 修改$JAVA_HOME/jre/lib/security/java.security,添加:
    security.provider.11=org.bouncycastle.jce.provider.BouncyCastleProvider
    
  3. 编译并运行工具

方法3:Java代码解密1

适用场景:本地或服务器执行
成功率:高
步骤

  1. 创建Decrypt.java文件
  2. 执行环境配置:
    source /weblogic_path/wlserver_10.3/server/bin/setWLSEnv.sh
    
  3. 编译并运行:
    javac Decrypt.java
    java Decrypt "{AES}encrypted_password"
    

方法4:Java代码解密2(XML批量解密)

适用场景:批量解密配置文件
步骤

  1. 创建WebLogicDecryptor.java文件
  2. 编译并运行:
    javac WebLogicDecryptor.java
    java WebLogicDecryptor /path/to/domain /path/to/config.xml
    

方法5:本地GUI工具解密

适用场景:Windows本地执行
成功率:高
使用

  1. 下载weblogic_decrypt.jar
  2. 选择SerializedSystemIni.dat文件
  3. 输入密文即可解密

方法6:JSP解密1(服务器端)

适用场景:通过WebShell上传
步骤

  1. 修改jsp中的路径配置:
    private static final String Secruity_path = "/path/to/domain/security";
    private static final String Config_path = "/path/to/domain/config/config.xml";
    
  2. 上传到服务器访问

方法7:JSP解密2(服务器端简单版)

适用场景:快速解密单个密码
步骤

  1. 修改jsp中的密文:
    s="{AES}encrypted_password";
    
  2. 上传到服务器访问

四、常见问题解决

  1. 解密失败可能原因

    • 密钥文件损坏(下载时应用二进制方式)
    • 密文格式错误(如{AES}Nu2LEjo0kxMEd4G5L9bYLE5wI5fztbgeRpFec9wsrcQ\=需去掉\
    • 版本不匹配(确认WebLogic版本与加密方式)
  2. 密钥文件下载技巧

    • 使用tar命令打包后再下载:
      tar -czf SerializedSystemIni.dat.tar.gz SerializedSystemIni.dat
      
    • 或使用Burpsuite的"copy to file"功能

五、工具下载

所有工具和脚本已打包:
https://github.com/TideSec/Decrypt_Weblogic_Password

六、总结建议

  • 推荐方法:方法5(GUI工具)和方法7(JSP简单版)成功率最高
  • 批量解密:使用方法4(Java代码2)
  • 服务器环境:优先使用方法3或方法6/7
  • 注意安全:解密操作可能触发安全审计,谨慎操作
WebLogic密文解密完全指南 一、WebLogic加密概述 WebLogic目前使用两种加密方式: 3DES :旧版本WebLogic使用的加密标准 AES :WebLogic 11gR1(10.3.6)及之后版本使用的加密标准 加密方式识别 AES密文格式: {AES}ObwFrA5PSOW+/7+vgtZpxk/1Esw81ukoknfH4QUYjWY= 3DES密文格式: {3DES}JMRazF/vClP1WAgy1czd2Q== WebLogic版本与加密方式对应关系 | 版本系列 | 具体版本 | 加密方式 | |---------|---------|---------| | WebLogic 12c系列 | 12.2.1.4, 12.2.1.3等 | AES | | WebLogic 11gR1 PS5 | 10.3.6 | AES | | WebLogic 11gR1 PS4及以下 | 10.3.5及以下 | 3DES | 二、解密前的准备工作 必需文件 密钥文件 : SerializedSystemIni.dat 位置: /weblogic_domain/security/SerializedSystemIni.dat 注意:该文件为二进制文件,大小应为64字节 密文来源 数据库连接字符串: /config/jdbc/*jdbc.xml 控制台密码: /security/boot.properties 三、七种解密方法详解 方法1:官方WLST解密方法 适用场景 :服务器本地执行 成功率 :较低 步骤 : 创建 decryptWLSPwd.py 文件 执行命令: 方法2:NetSPI工具解密 适用场景 :本地执行 成功率 :一般 Java版步骤 : 下载 bcprov-jdk15on-162.jar 并放置到 $JAVA_HOME/jre/lib/ext/ 修改 $JAVA_HOME/jre/lib/security/java.security ,添加: 编译并运行工具 方法3:Java代码解密1 适用场景 :本地或服务器执行 成功率 :高 步骤 : 创建 Decrypt.java 文件 执行环境配置: 编译并运行: 方法4:Java代码解密2(XML批量解密) 适用场景 :批量解密配置文件 步骤 : 创建 WebLogicDecryptor.java 文件 编译并运行: 方法5:本地GUI工具解密 适用场景 :Windows本地执行 成功率 :高 使用 : 下载 weblogic_decrypt.jar 选择 SerializedSystemIni.dat 文件 输入密文即可解密 方法6:JSP解密1(服务器端) 适用场景 :通过WebShell上传 步骤 : 修改jsp中的路径配置: 上传到服务器访问 方法7:JSP解密2(服务器端简单版) 适用场景 :快速解密单个密码 步骤 : 修改jsp中的密文: 上传到服务器访问 四、常见问题解决 解密失败可能原因 : 密钥文件损坏(下载时应用二进制方式) 密文格式错误(如 {AES}Nu2LEjo0kxMEd4G5L9bYLE5wI5fztbgeRpFec9wsrcQ\= 需去掉 \ ) 版本不匹配(确认WebLogic版本与加密方式) 密钥文件下载技巧 : 使用tar命令打包后再下载: 或使用Burpsuite的"copy to file"功能 五、工具下载 所有工具和脚本已打包: https://github.com/TideSec/Decrypt_ Weblogic_ Password 六、总结建议 推荐方法 :方法5(GUI工具)和方法7(JSP简单版)成功率最高 批量解密 :使用方法4(Java代码2) 服务器环境 :优先使用方法3或方法6/7 注意安全 :解密操作可能触发安全审计,谨慎操作