웹로직 관리자 계정과 패스워드를 분실한 경우에 새로 초기화 후 생성해도 되지만, 기존 암호화된 파일이 존재한다면 다음과 같이 패스워드를 복호화 할 수 있다.
데이터 소스 설정에 암호화되어 있는 패스워드는 아래 스크립트로 복호화(decrypt)가 되는데, 웹콘솔 관리자 계정과 암호(boot.properties 파일에 암호화되어 있음) 는 복호화가 되지 않는다.
예) decrypt.py 파일 - 복호화하는 스크립트
import os import weblogic.security.internal.SerializedSystemIni import weblogic.security.internal.encryption.ClearOrEncryptedService def decrypt(agileDomain, encryptedPassword): agileDomainPath = os.path.abspath(agileDomain) encryptSrv = weblogic.security.internal.SerializedSystemIni.getEncryptionService(agileDomainPath) ces = weblogic.security.internal.encryption.ClearOrEncryptedService(encryptSrv) password = ces.decrypt(encryptedPassword)
print "Plaintext password is:" + password try: if len(sys.argv) == 3: decrypt(sys.argv[1], sys.argv[2]) else: print "Please input arguments as below" print " Usage 1: java weblogic.WLST decryptWLSPwd.py " print " Usage 2: decryptWLSPwd.cmd " print "Example:" print " java weblogic.WLST decryptWLSPwd.py C:\Agile\Agile933\agileDomain {AES}JhaKwt4vUoZ0Pz2gWTvMBx1laJXcYfFlMtlBIiOVmAs=" print " decryptWLSPwd.cmd {AES}JhaKwt4vUoZ0Pz2gWTvMBx1laJXcYfFlMtlBIiOVmAs=" except: print "Exception: ", sys.exc_info()[0] dumpStack() raise |
[실행 예시]
root@kali:~/wls12130/user_projects/domains/mydomain# java weblogic.WLST decrypt.py . "{AES}OjkNNBWD9XEG6YM36TpP+R/Q1f9mPwKIEmHxwqO3YNQ=" Initializing WebLogic Scripting Tool (WLST) ... Welcome to WebLogic Server Administration Scripting Shell Type help() for help on available commands Plaintext password is:Password1 |
패스워드가 출력된다.
[글참조] https://blog.netspi.com/decrypting-weblogic-passwords/
'WAS > WebLogic' 카테고리의 다른 글
[Tips] 가상 디렉토리 매핑(Virtual Directory Mapping) 이해 (0) | 2017.09.25 |
---|---|
[Tips] Self-Tuning의 스레드풀 최소/최대값 설정 (0) | 2017.09.05 |
[구성] 아파치(Apache) 연동 방안 (0) | 2017.08.15 |
[Tips] 오라클 JDBC 드라이버 버전 확인하기 (0) | 2017.07.13 |
[Tips] WebLogic 기동 시에 JSP 컴파일 옵션 (0) | 2017.07.10 |