18 augustus
Stefan Esser heeft een erg goed artikel over hoe MySQL en SQL afgeplat kolommen die kunnen leiden tot een beveiligingsrisico. Hij gebruikt een goed voorbeeld van een kolom met een breedte van 16 tekens, maar hij iets met 17 chars. Uiteraard handhaving van lengte is een manier om dat af te dwingen, zelfs als het vrijwel nooit gebeurt. Maar een ding kwam bij me opkomt. Harkening terug naar de dagen van mijn lezing Rain Forrest Puppy's papers, realiseerde ik me dat vaak de code doet een rechte regex of string matching. Bijvoorbeeld: if ($ username eq "admin") (fail ();) maar als de $ username is' admin 'is het duidelijk zal falen van de string match omdat het niet een exacte match, maar hij zal hebben dezelfde netto-effect in de databank van het passeren van de controle en waarmee je toegang geeft tot de admin gegevens. Ook opvulling in voorkant van de gebruikersnaam zal hetzelfde effect hebben in sommige gevallen - afhankelijk van de manier waarop de SQL-query is gebouwd (als deze ingekapseld). Anyway, goed artikel, ga lezen!

































