青年数据库学习互助会

Oracle 数据库忘记密码,如何找回明文密码?

Image

问题现象:

Oracle数据库cjc用户密码忘记了,如何找回明文密码?

SQL> conn cjc/******ERROR:ORA-01017: invalid username/password; logon denied

环境说明:

DB:Oracle 11.2.0.4.0OS:Oracle Linux 7.5

解决方案:

需要借助ops_SIMD工具,下载地址如下:

http://conus.info/utils/ops_SIMD/

Image

解压ops_SIMD工具

[root@cjc-db-01 ora_pass]# ls -lrthtotal 240K-rw-r--r-- 1 root root 240K Aug 31 21:02 ops_SIMD_linux86.tar
[root@cjc-db-01 ora_pass]# tar -xvf ops_SIMD_linux86.tar ops_avxops_sse2
[root@cjc-db-01 ora_pass]# ls -lrthtotal 476K-rwxr-xr-x 1 cjc cjc 97K Mar 2 2013 ops_sse2-rwxr-xr-x 1 cjc cjc 133K Mar 2 2013 ops_avx-rw-r--r-- 1 root root 240K Aug 31 21:02 ops_SIMD_linux86.tar

查看cjc用户密码加密值,借助工具,通过加密值破解出明文密码

SQL> select PASSWORD from user$ where name='CJC';PASSWORD------------------------------5A4818DF59DC356A

创建列表文件,格式:

username:密文password:instance_name
[root@cjc-db-01 ora_pass]# vi pass.logcjc:5A4818DF59DC356A:cjc 

开始破解密码:

[root@cjc-db-01 ora_pass]# ./ops_sse2 --hashlist=pass.logOracle passwords (DES) solver 0.3 (SSE2) -- Dennis Yurichev <[email protected]>Compiled @ Mar 2 2013 06:19:03AVX instruction set is supported on this CPU.Use ops_avx.exe, it is working faster than on SSE2 set.username=CJC: 1 unsolved hash(es) leftChecking 1-symbol passwords for username CJCoverall progress= 0%username=CJC: 1 unsolved hash(es) left
Checking 2-symbol passwords for username CJCoverall progress= 3% / time remaining: ? username=CJC: 1 unsolved hash(es) left
Checking 3-symbol passwords for username CJCoverall progress= 0%username=CJC: 1 unsolved hash(es) left
Checking 4-symbol passwords for username CJCoverall progress= 0%CJC/cjc: Found password: CHEN ---成功破解出密码CJC:CHEN:cjc

由于密码较短,很快找出密码:CHEN

实际密码是小写的chen,验证密码,可以正常登陆:

SQL> conn cjc/chenConnected.SQL> show userUSER is "CJC"

常见问题:

由于操作系统是64位,ops_SIMD工具是32位的,需要安装几个包,否则报错如下:

[root@cjc-db-01 ora_pass]# ./ops_sse2 --hashlist=pass.log-bash: ./ops_sse2: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
[root@cjc-db-01 ora_pass]# ./ops_sse2 --hashlist=pass.log./ops_sse2: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory

解决方案:

[root@cjc-db-01 ora_pass]# yum -y install glibc.i686[root@cjc-db-01 ora_pass]# yum install libstdc++.so.6

###chenjuchao 20240831###

欢迎关注我的公众号《IT小Chen》

Image