Een SQL- aanval , of SQL- injectie aanval , omvat het inbrengen of injectie , van kwaadaardige code in de waarden of variabelen , die een gebruiker input in een computerprogramma . De kwaadaardige code is gekoppeld , of samengevoegd , met legitieme SQL-commando's naar een commando dat onverwachte resultaten voortbrengt . SQL SQL , ook wel bekend als Structure Query Language , is een industrie - standaard taal voor het maken , bijwerken en bevragen van relationele databases of databases bestaande uit meerdere bestanden van gerelateerde informatie , meestal opgeslagen in tabellen rijen en kolommen . SQL wordt vaak ingebed in algemene doeleinden programmeertalen om programma's die gebruikers in staat om te communiceren met een database te maken . Een programma kan onder meer SQL-instructies zoals "SELECT * FROM tabelnaam WHERE tablename . Veldnaam = variabelenaam " waarin tablename is de naam van een tabel in de database , veldnaam is de naam van een kolom of het veld , in die tabel , en variabelenaam is een waarde ingevoerd door de gebruiker . Severity de ernst van een SQL- aanval wordt alleen beperkt door de fantasie en de vaardigheid van de aanvaller . Door strategisch plaatsen van de puntkomma ( ;) en dubbel streepje ( - ) tekens - die SQL-commando's en commentaren bakenen respectievelijk - aanvallers kunnen bestaande commando's vervroegd te beëindigen en voegen hun eigen nieuwe opdrachten . Deze nieuwe opdrachten kunnen bijvoorbeeld extraheren gevoelige gegevens uit de database , wijzigen of wissen , of verlenen aanvallers volledige beheerdersrechten aan de database . In het bovenstaande voorbeeld, als de SQL- statement te lezen "SELECT * FROM tabelnaam WHERE tablename veldnaam = . ' " + Variabelenaam + " " ; , een gebruiker kan extra SQL -commando's in te voeren en zo monteren een query iets als " SELECT * FROM tabelnaam.veldnaam = ' somevalue ' ; . DROP TABLE tabelnaam Effecten SQL aanvallen meestal leiden tot verlies van de vertrouwelijkheid en integriteit van gegevens , evenals andere ernstige problemen , dus organisaties moeten de dreiging van SQL- aanvallen serieus te nemen . SQL aanvallen komen typisch voor wanneer gegevens voert een programma uit een vertrouwde bron of data worden gebruikt om dynamisch construeren van een SQL vraag , of beide . SQL -aanvallen kan uiteraard invloed SQL zelf , maar ook elk platform dat interactie met een SQL-database vereist . Database-driven websites zijn gemeenschappelijke doelstellingen voor SQL , simpelweg omdat aanvallers kunnen gemakkelijk opsporen en exploiteren SQL gebreken . Preventie Mits de SQL- code geïnjecteerd tijdens een SQL- aanval bevat geen syntax fouten , zal het succes uit te voeren en kan niet programmatisch worden gedetecteerd . Database programmeurs moeten dus valideren alle input van de gebruiker en alle programmacode die dynamische SQL- commando's voor kwetsbaarheden bouwt en uitvoert zorgvuldig onderzoeken .
|