Wat is een SQL Injection Attack / Kwetsbaarheid?

Deze FAQ antwoord was geschreven door k4thryn:

Een SQL injection kwetsbaarheid kan gebeuren wanneer een slecht geschreven programma maakt gebruik van de gebruiker verstrekte gegevens in een database query zonder eerst valideren van de invoer. Dit is meest vaak gevonden binnen webpagina's met dynamische inhoud. Er zijn een aantal uitstekende tutorials en beschrijvende artikelen over dit onderwerp, evenals vele kwetsbaarheid postings voor verschillende toepassingen van volledige openbaarmaking websites.

Een eenvoudig voorbeeld van SQL-injectie is een eenvoudige HTML-formulier login waarin u een gebruikersnaam en wachtwoord:


	  <form method="post" action="process_login.php"> 
	  <input type="text" name="username"> 
	  <input type="password" name="password"> 
	  </ form> 

Gezien dit fragment van HTML, kan men afleiden dat de makkelijkste (en slechtste) manier voor het script "process_login.php" aan het werk zou zijn voor het bouwen en uitvoeren van een database query die er als volgt uitziet:

	  "SELECT id 
	  UIT logins 
	  WHERE username = '$ username' 
	  en wachtwoord = '$ password' "; 

Onder deze omstandigheden, indien de variabelen "$ username" en "$ password" zijn direct overgenomen van de gebruiker van de input, de login-script kan gemakkelijk worden misleid om te geloven dat een geldig wachtwoord is verstrekt door het spelen met de syntax van de SQL-instructie. Stel de volgende string zijn als het wachtwoord:

	  'Of''=' 

en we gaven "Bob" als gebruikersnaam. Wanneer de variabelen worden geïnterpoleerd, de query hierboven zou er zo uitzien:

	  "SELECT id 
	  UIT logins 
	  WHERE username = 'bob' 
	  en wachtwoord =''of''=''; 

Deze zoekopdracht geeft een rij, omdat de laatste zin:

	  ...  of''='' 

zullen altijd evalueren op true (een lege string is altijd gelijk aan een lege string).

Preventie van SQL injectie aanvallen

De meest voorkomende methoden om te voorkomen dat dit soort van SQL injectie vunerability zijn om na te gaan of de gebruiker input voor gevaarlijke tekens als single-quotes, en bereid met behulp van verklaringen, die vertellen de database precies wat hun te wachten voordat een gebruiker verstrekte gegevens te kunnen verwerken.

SQL Server Security Mastering SQL Server 2000 Security SQL Server Security Gedistilleerd Oracle Security Handboek: Implementeren van een goede beveiliging Plan in Uw Oracle Milieu
Aankoop van deze uitstekende boeken over SQL veiligheid op Amazon.com


Top 5 Gratis Networking Tools

Vulnerability Management voor Dummies

Onze vrienden op Qualys bieden gratis exemplaren van de elektronische versie van Vulnerability Management voor Dummies aan Tech-FAQ lezers.

Vulnerability Management voor Dummies:

  • Verklaart de noodzaak van een kritische kwetsbaarheid management
  • Details van de essentiële best-practice-stappen van een succesvolle vulnerability management programma
  • Hierin wordt de kwetsbaarheid van verschillende management oplossingen - inclusief de voor-en nadelen van elk
  • Wijst op de bekroonde QualysGuard kwetsbaarheid management oplossing
  • Biedt een punt tien checklist voor het wegnemen van kwetsbaarheden van uw belangrijkste middelen
Bookmark Wat is een SQL Injection Attack / Kwetsbaarheid?

Laatste blogberichten


Engels Engels Duits Duits Spaans Spaans Frans Frans Italiaans Italiaans Portugees Portugees Russisch Russisch Nederlands Nederlands
Grieks Grieks Hindi Hindi Japans Japans Koreaans Koreaans Chinees Chinees Chinees (vereenvoudigd) Chinees (vereenvoudigd) Arabisch Arabisch

Copyright 2009 Tech-FAQ. Alle rechten voorbehouden. Privacybeleid.