WEB开发网
开发学院数据库Oracle 重访Oracle密码 阅读

重访Oracle密码

 2009-05-20 13:15:01 来源:WEB开发网   
核心提示: 该程序计算了3亿2千1百多万需要检查的密码,而且使用了两个处理器把工作量减半了,重访Oracle密码(3),而且默认字符集为alpha(A-Z),也需要花费了164秒才能确定Scott的密码为TIGERS,查找第二个用户的密码明文所花费的运行时间很合理, 有时候你可能要花费好几个小时(甚至

该程序计算了3亿2千1百多万需要检查的密码,而且使用了两个处理器把工作量减半了,而且默认字符集为alpha(A-Z),也需要花费了164秒才能确定Scott的密码为TIGERS,每秒钟检查的密码个数为938,882。我们在检查了差不多一半的密码就很幸运的中标了。

如果排除物理因素的限制(CPU数量和处理器速度等),那么影响运行完成时间的关键因素有两个:密码长度和字符集。如果你知道密码长度和字符集(纯字母还是字母加数字还是字母数字加特殊字符),你就能够大大减少需要检查的密码数量。一开始就缩小猜测范围当然就能够显著减少运行时间。

为了做个对比,我们把字符集改为alphanum,Scott的密码不变,需要花费6分多钟才能找到Scott的密码。如果在前面所用的同一个用户密码文件中添加另外一个用户的密码信息,假设也知道密码长度同为6字符,且是字母加数字类型的,那么整个运行时间超过了29分钟(由于隐私的原因,下面所示的第二个用户的名字和密码都已经编辑过了)。

      woraauthbf.exe -p c:\password_file.txt -m 6 -c alphanum
  Usernames will be permuted!

  The number of processors: 2

  Number of pwds to check: 2238976116

  Number of pwds to check by thread: 1119488058

  Password file: c:\password_file.txt, charset: alphanum, maximum length: 6, type: hash

  Start: 0 End: 1119488058

  Start: 1119488058 End: 2238976116

  Start array thread with 490 number of passwords!

  Writing session files...

  Writing session files...

  Writing session files...

  Writing session files...

  Writing session files...

  Writing session files...

  Password found: SCOTT:TIGERS:ORCL:MYPC

  Writing session files...

  Writing session files...

  Writing session files...

  ...

  Writing session files...

  Writing session files...

  Password found: SOMENAMES:X1M72Y:ORCL:MYPC

  Elpased time: 2152s

  Checked passwords: 1917149967

  Password / Second: 890868

上述密码文件中的第二个条目来自一个8i数据库系统,而Scott的哈希值来自10g版本。本文的寓意非常明确:保护好任何会显露用户名及其哈希密码值的东西,不要轻易让其被他人存取,特别是SYS.USER$表(不要依赖DBA_USERS视图)。

查找第二个用户的密码明文所花费的运行时间很合理。 有时候你可能要花费好几个小时(甚至好几天)来查找某个密码,不过这比起和那些讨厌停机的用户一起修改已经忘掉的密码花费的成本要低多了。

上一页  1 2 3 

Tags:重访 Oracle 密码

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接