Hoe SQL injection werkt Door MarcelJan Krijgsman SQL
- Slides: 21
Hoe SQL injection werkt Door: Marcel-Jan Krijgsman
SQL Injection n Een methode die gebruik maakt van invoer in de applicatie: invoervelden, argumenten in code, etc. . n SQL Injection werkt doordat een hacker SQL code toevoegt aan de SQL die de applicatie uitvoert. n Traditionele firewalls en virusscanners kunnen SQL Injection niet tegenhouden. © Copyright Transfer Solutions B. V. 2
SQL injection
Normaal gebruik van een applicatie select * from verzekering where achternaam='Potter';
select * from verzekering where achternaam='Potter'; SURNAME FIRSTNAME PACKAGE -----------Potter Harry Care Plus
De kracht van quotes © Copyright Transfer Solutions B. V. ’ 6
Een voorbeeld van SQL injection select * from verzekering where achternaam='Potter' or 'x'='x';
select * from verzekering where achternaam='Potter' or 'x'='x'; SURNAME -----Blofeld Bond Potter Skywalker Vader etc. . FIRSTNAME -----Ernst Stavr James Harry Luke Darth PACKAGE ---------Care Extralux Care Basic Plus Care VIP
Eens kijken of men hier de rechten beperkt heeft… select * from verzekering where achternaam='Potter'; select * from dba_users where 'x'='x';
select * from verzekering where achternaam='Potter'; select * from dba_users where 'x'='x'; SURNAME FIRSTNAME PACKAGE -----------Potter Harry Care Plus USERNAME PASSWORD ---------------SYS 5638228 DAF 52805 F SYSTEM D 4 DF 7931 AB 130 E 37 etc. . ACCOUNT_STATUS -------OPEN
Creatief met SQL Injection n or 'x'='x : laat mijn conditie zien of alles. n ; gebruiken om een statement voortijdig te beëindigen of andere statements te laten volgen. n UNION: compleet andere tabellen bij resultaat voegen. © Copyright Transfer Solutions B. V. 11
Preventie
1. Voorkomen dat SQL injection constructies toegestaan zijn in de applicatie.
Bind variables select * from verzekering where achternaam= : BIND; © Copyright Transfer Solutions B. V. 15
2. Rechten in de database beperken tot het strikt nodige.
CREATEANY ALTER SPFILE SQL PROFILE ANALYZE ANY CREATE ANY PROCEDURE ALTER ANY CLUSTER ALTER REATE ANY MATERIALIZED VIEWSYSTEM ALTER USER CREATE DIRECTORY AUDIT SYSTEM SELECT ATE EXTERNAL JOBANY DICTIONARY ALTER ANY PROCEDUR CREATE DATABASE LINK CREATE USER DEBUG CONNECT SESSION CREATE LIBRARYThe ALTER ANY TABLE DBA role LASHBACK ANY TABLE CREATE ANY OPERATOR RCE TRANSACTION GRANT ANY PRIVILEGE RANSACTION CREATE DATABASE ALTER ANY INDE GRANT ANY OBJECT PRIVILEGE ROP ANY TRIGGER DROP DATABASECREATE ANY INDE ALTER ANY SQL PROFILE FORCE TRANSACTI CREATE SPFILE GLOBAL QUERY REWRITE CREATE INDEXTYP NLIMITEDCREATE TABLESPACE ANY CONTEXT ALTER DATABASE DROP ANY VIEW CREATE DIMENSION CREATE TABLESPA © Copyright Transfer Solutions B. V. 17
Toepassen minimale rechten objects APP_PCK APP_TABLE create procedure execute on app_pck create table create session APP_USER APP_OWNER
SQL injection detectie n Er is software om SQL Injection in webapplicaties te detecteren. n Een aantal daarvan is gratis. n Overzicht: http: //maestro-sec. com/blogs/2008/10/top-15 -sql-injection-scanner/ © Copyright Transfer Solutions B. V. 19
Kortom… n SQL Injection is een methode met veel potentie. n U zult wellicht veel zeilen moeten bijzetten om SQL Injection te voorkomen. n Laat dit u niet overkomen: http: //xkcd. com/327/ © Copyright Transfer Solutions B. V. 20
info@transfer-solutions. com TRANSFER SOLUTIONS ICT Advisering | Ontwikkeling | Beheer | Opleidingen info@transfer-solutions. com | www. transfer-solutions. com
- Arie krijgsman
- Vader jacob mondharmonica
- Hoe werkt een balans
- Projectevaluatie voorbeeld
- Hoe werkt vuurwerk
- Hoe werkt een orkaan
- Hoe worden kippen bevrucht
- Elektrische katrollen en takels
- Hoe werkt het kofschip
- Hoe sneller hoe beter
- Stambreuken
- Direct energy door to door
- Door to door luggage service switzerland
- Telenet modems
- Strenger straffen werkt niet
- Xkcd sys admin
- Sql injection
- Rick houlihan dynamodb
- Web project
- David litchfield oracle
- Guestbook.php sql
- Nhibernate select distinct