有时候, 也许管理员会忘记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