Database Reference
In-Depth Information
198, Donald, OConnell, DOCONNEL, 650.507.9833, 2007-06-21 00:00:00, SH_CLERK, 2600
(E27811A8C7C9D9F3), null, 124, 50
Oracle success 2)
198, Donald, OConnell, DOCONNEL, 650.507.9833, 21-JUN-07, SH_CLERK, 2600, , 124, 50
(F7EA4E97B2F39E036AF6E880B2E5CA3EB78332BF8CE82B7585A4CBC7B340FEBDE4862830927
D118D27A1DDE3304478D9A463EBA9BC78E3188217884D5F5EA92F54A6EA2FB62598D1419F003295D
F1C076E48BC6D07058E3B)
Oracle success 3)
Oracle success 4)
300, David, Coffin, DAVID.COFFIN, 800.555.1212, 2010-08-30 00:00:00, SA_REP, 9000.25, .15,
147, 80
Oracle success 5) No data on failed SQL Injection
Oracle success 6) No data on failed SQL Injection
Failed where expected - OK. Need key exchange.
Oracle success 8)
Oracle success 9)
Demonstrating Scenarios
Here is a list in relatively plain English of the scenarios we have demonstrated. There is a lot of code to
accomplish all these different scenarios. The code for each scenario is very similar to some of the other
scenarios, with modifications for the specific demonstration.
We queried the EMPLOYEES table and got the SALARY and COMMISSION_PCT columns
back in encrypted form. For both of these, we print out the decrypted String , and
in parentheses, the stringValue() of the encrypted RAW (unless null). We only
show the first row of the ResultSet .
We queried the table and got all the columns back in one concatenated String , in
encrypted form. We print the decrypted data, and in parentheses, the
stringValue() of the encrypted RAW . Again, we only show the first row.
We do an insert or update to the EMPLOYEES table, inserting EMPLOYEE_ID = 300 . If
it already exists, we do an update. At that point, the salary is 9000.25 (now I'm
dreaming).
We select a single row from EMPLOYEES , requesting data WHERE EMPLOYEE_ID = 300 .
We attempt to query EMPLOYEES through our procedures with a sample SQL
injection string. This fails, and no data is returned.
We attempt again to query EMPLOYEES through our procedures with a sample SQL
injection string, this time transmitted as a RAW and only converted when we do the
SELECT . This also fails, and no data is returned.
We can alternately compile TestOracleJavaSecure to test resetting the client keys
or resetting the Oracle connection. After that, our attempt to send encrypted data
to Oracle database for insert/update fails, as expected.
We successfully call the p_get_shared_passphrase procedure and run the
makeDESKey() method to complete key exchange.
 
Search WWH ::




Custom Search