Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
31-10-2008 SQL Injecties
1. SQL Injecties
Volgens recent onderzoek van
WhiteHat Security is 17% uit de 700
geteste websites kwetsbaar!
2. Agenda
• Terminologie (voorkennis)
• Wat is het?
• Wat doet het?
• Hoe voorkom je het?
• Bekende voorbeelden
• Behulpzame tools
• Samenvatting
• Vragen?
3. Terminologie (voorkennis)
• SQL
– Structured Query Language
– Gestandaardiseerde (SQL-92, SQL:2003, etc…)
programmeertaal om data te manipuleren.
– T-SQL, PL/SQL, PL/pgSQL, etc…
• Database
– Één- of een set gegevensbestand(en), waarin data
(bijv. klanten of bestellingen) word opgeslagen.
4. Wat is het?
• Methode om data op een ongewenste manier
te manipuleren;
• In alle soorten en maten:
– Blind SQL Injecties
– Deep Blind SQL Injecties
– Full Blind SQL Injecties
– Error-Based SQL Injecties
– Inband SQL Injecties
– etc…
5. Wat doet het?
• Het manipuleert data op een ongewenste manier
– Verwijderd data, terwijl deze enkel uitgelezen mag
worden;
– Leest teveel data uit (zoals wachtwoorden);
– etc…
• Het kan meer lekken veroorzaken (vereist veelal
root omgeving)
– GRANT rechten TO gebruiker;
– SHOW TABLES (+SHOW CREATE TABLE) zodat
vervolgens ook andere tabellen kunnen worden
aangevallen.
6. Hoe voorkom je het?
• Betere gebruikersrechten
– Minimale rechten: Een gebruiker mag enkel data
uitlezen en/of schrijven als deze dit daadwerkelijk
nodig heeft;
• Beter de documentatie lezen
– Database servers hebben anti SQL Injectie functies
ingebouwd;
• Veiliger programmeren
– Programmeertalen hebben anti SQL Injectie functies
ingebouwd.
7. Bekende voorbeelden
• Actueel in het nieuws
– VS klagen Israëlische hacker 'The Analyzer' aan
• http://www.security.nl/artikel/23500/1/VS_klagen_Isra
%C3%ABlische_hacker_%27The_Analyzer%27_aan.html
• Een tijdje geleden
– Microsoft luidt noodklok over SQL-injectie
aanvallen
• http://security.pine.nl/artikel/18953/Microsoft_luidt_n
oodklok_over_SQL-injectie_aanvallen.html
9. Samenvatting
• Wat is het:
– Methode om data op een ongewenste manier te
manipuleren;
• Wat doet het:
– Het manipuleert data d.m.v. `hacks`;
• Hoe voorkom je het:
– Betere gebruikersrechten;
– Beter de documentatie lezen;
– Veiliger programmeren.