Injecția SQL. Injecție SQL bazată pe declarații SQL Batched.
Partajeaza in Google Classroom
Memorator: Descriere video Descarcă PDF
Majoritatea bazelor de date acceptă declarația SQL batched.
Un batch (lot) de instrucțiuni SQL este un grup de două sau mai multe instrucțiuni SQL, separate prin punct și virgulă.
Instrucțiunea SQL de mai jos va returna toate rândurile din tabelul „Utilizatori” (Users), apoi va șterge tabelul „Furnizori” (Suppliers).
Exemplu:
SELECT * FROM Users; DROP TABLE Suppliers
Priviți următorul exemplu:
Exemplu:
txtUserId = getRequestString("UserId");
txtSQL = "SELECT * FROM Users WHERE UserId = " + txtUserId;
Și următoarea intrare:
User id: 105; DROP TABLE Suppliers
Instrucțiunea SQL validă ar arăta astfel:
Rezultat:
SELECT * FROM Users WHERE UserId = 105; DROP TABLE Suppliers;