问题现象:
Oracle数据库cjc用户密码忘记了,如何找回明文密码?
SQL> conn cjc/******
ERROR:
ORA-01017: invalid username/password; logon denied
环境说明:
DB:Oracle 11.2.0.4.0
OS:Oracle Linux 7.5
解决方案:
需要借助ops_SIMD工具,下载地址如下:
http://conus.info/utils/ops_SIMD/
解压ops_SIMD工具
[root@cjc-db-01 ora_pass]# ls -lrth
total 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_avx
ops_sse2
[root@cjc-db-01 ora_pass]# ls -lrth
total 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.log
cjc:5A4818DF59DC356A:cjc
开始破解密码:
[root@cjc-db-01 ora_pass]# ./ops_sse2 --hashlist=pass.log
Oracle passwords (DES) solver 0.3 (SSE2) -- Dennis Yurichev <dennis@conus.info>
Compiled @ Mar 2 2013 06:19:03
AVX 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) left
Checking 1-symbol passwords for username CJC
overall progress= 0%
username=CJC: 1 unsolved hash(es) left
Checking 2-symbol passwords for username CJC
overall progress= 3% / time remaining: ?
username=CJC: 1 unsolved hash(es) left
Checking 3-symbol passwords for username CJC
overall progress= 0%
username=CJC: 1 unsolved hash(es) left
Checking 4-symbol passwords for username CJC
overall progress= 0%
CJC/cjc: Found password: CHEN
CJC:CHEN:cjc
由于密码较短,很快找出密码:CHEN
实际密码是小写的chen,严重密码,可以正常登陆:
SQL> conn cjc/chen
Connected.
SQL> show user
USER 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》