SlideShare una empresa de Scribd logo
1 de 29
University of Central Greece
Computer Science and Biomedical Informatics



     SQL INJECTION
       System Security project
               Sapountzi Eleni
               Siganos Marios
ΣΙ ΕΙΝΑΙ;
 Σεχνικό που χρηςιμοποιεύται ςυχνϊ για επιθϋςεισ ςε ΒΔ μϋςω
  δικτυακού τόπου
 Σεχνικό ϋγχυςησ (ειςαγωγόσ) κώδικα που εκμεταλλεύεται μύα
  ευπϊθεια αςφαλεύασ ςτο λογιςμικό ενόσ ιςτοτόπου
 Οι επιθϋςεισ SQL injections εμφανύςτηκαν ταυτόχρονα με τισ πρώτεσ
  εφαρμογϋσ web
 Μεγϊλοσ ο αριθμόσ των ςυςτημϊτων που εύναι ευϊλωτα ςτισ
  επιθϋςεισ SQL Injections
 Εύκολα μπορεύ να διερευνηθεύ ςε μια εφαρμογό και με κατϊλληλη
  πρόβλεψη να αποφευχθεύ
ΚΟΡΤΥΑΙΕ΢ 7 ΕΠΙΘΕ΢ΕΙ΢
Μ Π Ο Ρ ΟΤ Μ Ε Ν Α Π ΡΑ Γ Μ ΑΣ Ο Π Ο Ι Η ΢ ΟΤ Μ Ε
          ΜΙΑ ΣΕΣΟΙΑ ΕΠΙΘΕ΢Η;
Ε ΤΑ Λ ΩΣ Ε ΢ Β Δ Κ Α Ι ΓΛ Ω ΢ ΢ Ε ΢
        Π Ρ Ο Γ ΡΑ Μ Μ ΑΣ Ι ΢ Μ ΟΤ
΢χεδόν όλεσ οι βϊςεισ δεδομϋνων SQL και γλώςςεσ
προγραμματιςμού εύναι δυνητικϊ ευϊλωτεσ, πχ:
      MS SQL Server
      Oracle
      MySQL
      Postgres
      DB2
      MS Access
      Sybase
      Informix, κλπ.
Ε ΤΑ Λ ΩΣ Ε ΢ Β Δ Κ Α Ι ΓΛ Ω ΢ ΢ Ε ΢
        Π Ρ Ο Γ ΡΑ Μ Μ ΑΣ Ι ΢ Μ ΟΤ

Πρόςβαςη μϋςω εφαρμογών που ϋχουν αναπτυχθεύ με χρόςη:
     Perl και CGI scripts
     ASP, JSP, PHP
     XML, XSL και XSQL
     Javascript
     VB, MFC, και ϊλλα ODBC-based εργαλεύα και APIs
     DB ςυγκεκριμϋνη web-based εφαρμογϋσ και το API
     Reports and DB Applications
     3 and 4GL-based languages (C, OCI, Pro * C, COBOL)
ΑΝΑΛΤ΢Η
 Σι χρειαζόμαςτε;
    • Απλϊ ϋναν web browser

 Σι πρϋπει να ψϊξουμε;
    • ΢ελύδεσ που επιτρϋπουν την ειςαγωγό δεδομϋνων όπωσ:
        • login page
        • search page
        • feedback κλπ.
    • HTML ςελύδεσ που χρηςιμοποιούν POST εντολϋσ για
    να ςτεύλουν τισ ςχετικϋσ παραμϋτρουσ ςε κϊποια ςελύδα ASP
ΑΝΑΛΤ΢Η
 Τπϊρχει δυνατότητα απομακρυςμϋνησ εκτϋλεςησ με
  SQL Injection;
   • Η SQL δύνει την δυνατότητα ςτουσ developers να
     κϊνουν ΣΑ ΠΑΝΣΑ ςε ϋνα ςύςτημα
   • O SQL Server τρϋχει ςαν SYSTEM, δηλαδό τα
     δικαιώματα που ϋχει εύναι επιπϋδου administrator ςτο
     ςύςτημα
   • Οπότε μπορούμε να αποκτόςουμε εύκολα πρόςβαςη,
     αφού μπορούμε να τρϋξουμε ότι θϋλουμε
ΑΡΦΙΣΕΚΣΟΝΙΚΗ

Web Server   Application Server   Database Server




   Web            Input            Injected SQL
   Page         Validation          Execution!
  Access           Flaw
ΠΩ΢;
 Ειςϊγοντασ δηλώςεισ SQL ςτα πεδύα καταχώρηςησ
  φορμών ιςτοςελύδων
    • Πχ. αλλαγό ό διαγραφό περιεχομϋνου ςε ΒΔ πιςτωτικών
      καρτών ό κωδικών πρόςβαςησ
ΕΤΠΑΘΕΙΑ

Ελλιπόσ ό λανθαςμϋνη επαλόθευςη (validation)
 των δεδομϋνων ειςόδου (input data) μιασ
 εφαρμογόσ ςε:
   • φόρμεσ (μϋθοδοι HTTP GET και POST)
   • links (μϋθοδοσ HTTP GET)
Α Ν Α ΛΤ ΢ Η Μ Ι Α ΢ Ε Τ Π ΑΘ ΟΤ ΢
      W E B ΕΥΑ Ρ Μ Ο Γ Η ΢
ΠΑΡΑΔΕΙΓΜΑ 1
Έςτω πύνακασ «employees» ςε μια ΒΔ MySQL
Ευπαθϋσ block κώδικα PHP
 <?php
    $qry = "SELECT employeeid, fullname, salary FROM employees " .
           "WHERE employeeid =" . $_GET['employeeid'];
    $result = mysql_query($qry);
 ?>
΢κοπόσ εύναι η εκτϋλεςη επερώτηςεων τησ μορφόσ:
SELECT   employeeid, fullname, salary FROM employees
 WHERE    employeeid = 3
SELECT   employeeid, fullname, salary FROM employees
 WHERE    employeeid = 352
ΠΑΡΑΔΕΙΓΜΑ 1
Σο Employeeid εύναι το πρωτεύον κλειδύ ςτον πύνακα employees δύνεται
 μϋςω browser, με χρόςη τησ μεθόδου GET του HTTP με link τησ μορφόσ:
   http://www.example.com/employees.php?employeeid=3

Η τιμό τησ παραμϋτρου GET «employeeid» που δύνεται ςτο URL, ΔΕΝ
 επαληθεύεται επαρκώσ πριν την εκτϋλεςη τησ επερώτηςησ από τον κώδικα
 http://www.example.com/employees.php?employeeid=3 OR 1=1

Ωσ αποτϋλεςμα θα εκτελεςτεύ ςτη βϊςη δεδομϋνων η εξόσ επερώτηςη:
        •SELECT employeeid, fullname, salary FROM employees
         WHERE employeeid=3 OR 1=1

Έτςι ενδϋχεται ο κακόβουλοσ χρόςτησ να δει πληροφορύεσ που δεν εύναι
ςκόπιμο
ΠΑΡΑΔΕΙΓΜΑ 2
Login form
Ευπαθϋσ block κώδικα PHP
 <?php
    $username = $_POST['username'];
    $password = $_POST['password'];
    $qry = "SELECT userid FROM users" .
           " WHERE username='$username'
             AND password='$password'";
    $result = mysql_query($qry);
    if (mysql_numrows($result) > 0) {
       //log in user...
    }
 ?>
ΠΑΡΑΔΕΙΓΜΑ 2
Οι τιμϋσ username και password δύνονται με χρόςη μιασ
 τυπικόσ web login φόρμασ με τη μϋθοδο HTTP POST

Αν δώςουμε ςτο πεδύο password: bar' OR 1=1 OR username='
  ϋχουμε την εκτϋλεςη τησ επερώτηςησ:
       •SELECT userid FROM users WHERE username='foo'
        AND password='bar' OR 1=1 OR username='';


Έτςι ενδϋχεται η πρόςβαςη ςτην εφαρμογό (login) από ϊτομα
που δεν εύναι εξουςιοδοτημϋνα
ΠΑΡΑΔΕΙΓΜΑ 3
Πολλαπλϋσ εντολϋσ SQL ωσ μια επερώτηςη ςτο ςύςτημα
Ο μεγαλύτεροσ κύνδυνοσ ςτα SQL Injections!!!

Παρϊδειγμα ευπαθούσ block κώδικα PHP
 <?php
    $qry = "SELECT employeeid, fullname, salary
            FROM employees " .
           "WHERE employeeid =" . $_GET['employeeid'];
    $result = pg_query($qry);
 ?>
ΠΑΡΑΔΕΙΓΜΑ 3
Δεδομϋνα ειςόδου από links τησ μορφόσ:
 http://www.example.com/employees.php?employeeid=3

Αποτϋλεςμα η εκτϋλεςη τησ επερώτηςησ:
 SELECT employeeid, fullname, salary FROM employees
  WHERE employeeid = 3
ΠΑΡΑΔΕΙΓΜΑ 3
Ο κακόβουλοσ χρόςτησ δύνει τo εξόσ URL
 http://www.example.com/employees.php?employeeid=3;
  DELETE FROM users;


Έτςι θα εκτελεςτούν οι 2 εντολϋσ:
 SELECT employeeid, fullname, salary
  FROM employees WHERE   employeeid = 3;
 DELETE FROM users;


Διαγραφό όλων των δεδομϋνων του πύνακα users από τη βϊςη!
Α Ν Α Ζ Η Σ Η ΢ Η Ε Τ Π ΑΘ Ω Ν Ι ΢ Σ Ε ΢ Ε Λ Ι ΔΩ Ν
Φ Ρ Η ΢ Ι Μ Ο Π Ο Ι Ω Ν ΣΑ ΢ G O O G L E D O R K S

Αναζότηςη με τα παρακϊτω:    Προςθϋτουμε ’ ςτο τϋλοσ
 inurl:index.php?id=        του url και αν εμφανύςει
                             error τότε η ιςτοςελύδα
 inurl:index.php?catid=     εύναι ευϊλωτη ςε SQLi
 inurl:news.php?id=         επιθϋςεισ

 inurl:news.php?catid=

 inurl:product.php?id=
Η ΔΤΝΑΜΗ ΣΟΤ «’»
 Κλεύνει την παρϊμετρο ςυμβολοςειρϊσ

 Ό,τι ακολουθεύ θεωρεύται μϋροσ τησ εντολόσ SQL

 Παραπλανητικϋσ προτϊςεισ Διαδικτύου περιλαμβϊνουν:
    • Αποφύγετε το! : Αντικαταςτόςτε το με ’’

 Σα αλφαριθμητικϊ πεδύα εύναι πολύ ςυχνϊ, αλλϊ υπϊρχουν και
  ϊλλα εύδη πεδύων:
    • Αριθμητικϊ
    • Ημερομηνύεσ
Α Ν Α Ζ Η Σ Η ΢ Η Ι ΢ ΣΟ΢ Ε Λ Ι ΔΩ Ν
 Ε Τ Π ΑΘ Ω Ν ΢ Ε S Q L I N J EC T I O N

 Automated and heuristic web vulnerability scanner

 Ανώφελο να ανιχνεύςουμε μόνο τισ αδυναμύεσ των
  γνωςτών εφαρμογών

 Πιο ευπαθεύσ εύναι οι εφαρμογϋσ που προςαρμόζονται
  από τον χρόςτη
SQLMAP
 Open Source penetration testing tool
 Αυτοματοποιεύ τον εντοπιςμό και την αξιοπούηςη των
  ελαττωμϊτων SQLi και την ανϊληψη των εξυπηρετητών ΒΔ
 Τποςτόριξη για απαρύθμηςη των χρηςτών τησ ΒΔ, «password
  hashes» των χρηςτών, προνόμια, τουσ ρόλουσ των χρηςτών,
  ΒΔ, πύνακεσ και ςτόλεσ
SQLMAP
Αναγνώριςη τησ μορφόσ των «password hashes»
 και υποςτηρύζονται για να ςπϊςουν με επύθεςη
 λεξικού
Εντοπιςμόσ των πινϊκων που περιϋχουν
 διαπιςτευτόρια όπου τα ονόματα αντύςτοιχων ςτηλών
 περιϋχουν ςυμβολοςειρϋσ όπωσ το name και pass
SQLMAP - ΣΕΦΝΙΚΕ΢
 Boolean-based blind SQL injection ό inferential SQL
  injection

 Time-based blind SQL injection ό blind SQL injection

 Error-based SQL injection

 UNION query SQL injection ό inband SQL injection

 Stacked queries SQL injection ό multiple statements
  SQL injection
ΠΩ΢ ΑΠΟ ΥΕΤΓΟΤΜΕ
        SQL INJECTIONS;
Αποφεύγουμε χαρακτόρεσ όπωσ:
     • quotes, slash, backslash, semicolon, NULL, new line, κλπ
 που εντοπύζονται ςε:
     • πεδύα από φόρμεσ ειςαγωγόσ από τουσ χρόςτεσ
     • παραμϋτρουσ ςτο URL
     • τιμϋσ από cookies
ΠΩ΢ ΑΠΟ ΥΕΤΓΟΤΜΕ
        SQL INJECTIONS;
Όλα τα νούμερα μετατρϋπονται ςε ακεραύουσ
Διαγραφό των stored procedures που δεν ςασ αρϋςουν
 και δεν χρειϊζεςτε όπωσ:
   • master..Xp_cmdshell,
   • xp_startmail,
   • xp_sendmail,
   • sp_makewebtask
΢ΤΜΠΕΡΑ΢ΜΑΣΑ
 Η SQL Injection εύναι ςυναρπαςτικό και επικύνδυνη
  ευπϊθεια

 Όλεσ οι γλώςςεσ προγραμματιςμού και ΒΔ SQL εύναι
  δυνητικϊ ευϊλωτεσ

 Προςταςύα από SQLi απαιτεύ:
    • ανθεκτικό ςχεδιαςμό
    • ςωςτό επικύρωςη των δεδομϋνων ειςόδου
΢Α΢ ΕΤΦΑΡΙ΢ΣΟΤΜΕ!

Más contenido relacionado

Destacado

SQL Injection 101 : It is not just about ' or '1'='1 - Pichaya Morimoto
SQL Injection 101 : It is not just about ' or '1'='1 - Pichaya MorimotoSQL Injection 101 : It is not just about ' or '1'='1 - Pichaya Morimoto
SQL Injection 101 : It is not just about ' or '1'='1 - Pichaya MorimotoPichaya Morimoto
 
Sql Injection - Vulnerability and Security
Sql Injection - Vulnerability and SecuritySql Injection - Vulnerability and Security
Sql Injection - Vulnerability and SecuritySandip Chaudhari
 
D:\Technical\Ppt\Sql Injection
D:\Technical\Ppt\Sql InjectionD:\Technical\Ppt\Sql Injection
D:\Technical\Ppt\Sql Injectionavishkarm
 
SQL injection: Not Only AND 1=1 (updated)
SQL injection: Not Only AND 1=1 (updated)SQL injection: Not Only AND 1=1 (updated)
SQL injection: Not Only AND 1=1 (updated)Bernardo Damele A. G.
 
Web application attacks using Sql injection and countermasures
Web application attacks using Sql injection and countermasuresWeb application attacks using Sql injection and countermasures
Web application attacks using Sql injection and countermasuresCade Zvavanjanja
 
How to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheHow to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheLeslie Samuel
 
Les attaques par injection sql
Les attaques par injection sqlLes attaques par injection sql
Les attaques par injection sqlMohamed Yassin
 
Sql Injection Attacks Siddhesh
Sql Injection Attacks SiddheshSql Injection Attacks Siddhesh
Sql Injection Attacks SiddheshSiddhesh Bhobe
 
SQL INJECTION
SQL INJECTIONSQL INJECTION
SQL INJECTIONAnoop T
 
TYPES OF HACKING
TYPES OF HACKINGTYPES OF HACKING
TYPES OF HACKINGSHERALI445
 
Introduction To Ethical Hacking
Introduction To Ethical HackingIntroduction To Ethical Hacking
Introduction To Ethical HackingNeel Kamal
 
ethical hacking in the modern times
ethical hacking in the modern timesethical hacking in the modern times
ethical hacking in the modern timesjeshin jose
 

Destacado (18)

Sql Injection Myths and Fallacies
Sql Injection Myths and FallaciesSql Injection Myths and Fallacies
Sql Injection Myths and Fallacies
 
SQL Injection 101 : It is not just about ' or '1'='1 - Pichaya Morimoto
SQL Injection 101 : It is not just about ' or '1'='1 - Pichaya MorimotoSQL Injection 101 : It is not just about ' or '1'='1 - Pichaya Morimoto
SQL Injection 101 : It is not just about ' or '1'='1 - Pichaya Morimoto
 
Sql Injection - Vulnerability and Security
Sql Injection - Vulnerability and SecuritySql Injection - Vulnerability and Security
Sql Injection - Vulnerability and Security
 
D:\Technical\Ppt\Sql Injection
D:\Technical\Ppt\Sql InjectionD:\Technical\Ppt\Sql Injection
D:\Technical\Ppt\Sql Injection
 
SQL injection: Not Only AND 1=1 (updated)
SQL injection: Not Only AND 1=1 (updated)SQL injection: Not Only AND 1=1 (updated)
SQL injection: Not Only AND 1=1 (updated)
 
Web application attacks using Sql injection and countermasures
Web application attacks using Sql injection and countermasuresWeb application attacks using Sql injection and countermasures
Web application attacks using Sql injection and countermasures
 
SQL injection: Not only AND 1=1
SQL injection: Not only AND 1=1SQL injection: Not only AND 1=1
SQL injection: Not only AND 1=1
 
How to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheHow to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your Niche
 
Les attaques par injection sql
Les attaques par injection sqlLes attaques par injection sql
Les attaques par injection sql
 
Sql Injection Attacks Siddhesh
Sql Injection Attacks SiddheshSql Injection Attacks Siddhesh
Sql Injection Attacks Siddhesh
 
Sql injection attack
Sql injection attackSql injection attack
Sql injection attack
 
SQL INJECTION
SQL INJECTIONSQL INJECTION
SQL INJECTION
 
ETHICAL HACKING PPT
ETHICAL HACKING PPTETHICAL HACKING PPT
ETHICAL HACKING PPT
 
TYPES OF HACKING
TYPES OF HACKINGTYPES OF HACKING
TYPES OF HACKING
 
Introduction To Ethical Hacking
Introduction To Ethical HackingIntroduction To Ethical Hacking
Introduction To Ethical Hacking
 
ethical hacking in the modern times
ethical hacking in the modern timesethical hacking in the modern times
ethical hacking in the modern times
 
Ethical hacking presentation
Ethical hacking presentationEthical hacking presentation
Ethical hacking presentation
 
Hacking ppt
Hacking pptHacking ppt
Hacking ppt
 

Similar a SQL Injection

Δημιουργία Ιστοσελίδων
Δημιουργία ΙστοσελίδωνΔημιουργία Ιστοσελίδων
Δημιουργία ΙστοσελίδωνDespina Kamilali
 
Thesis.Net Features
Thesis.Net FeaturesThesis.Net Features
Thesis.Net FeaturesMGAKIS
 
Dontsios Dimitris
Dontsios DimitrisDontsios Dimitris
Dontsios DimitrisISSEL
 
08 - Λογαριασμοί και Δικαιώματα σε Database Server
08 - Λογαριασμοί και Δικαιώματα σε Database Server08 - Λογαριασμοί και Δικαιώματα σε Database Server
08 - Λογαριασμοί και Δικαιώματα σε Database ServerFotis Kokkoras
 
Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης παραγωγής Λογισμικού Ελέγχου...
Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης παραγωγής Λογισμικού Ελέγχου...Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης παραγωγής Λογισμικού Ελέγχου...
Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης παραγωγής Λογισμικού Ελέγχου...ISSEL
 
Design and Implementation of a Mechanism that automates the generation of Sof...
Design and Implementation of a Mechanism that automates the generation of Sof...Design and Implementation of a Mechanism that automates the generation of Sof...
Design and Implementation of a Mechanism that automates the generation of Sof...ISSEL
 
Δούμας Οδυσσέας 7168
Δούμας Οδυσσέας 7168Δούμας Οδυσσέας 7168
Δούμας Οδυσσέας 7168ISSEL
 
Αυτοματοποίηση της μετατροπής των HR επιχειρησιακών διαδικασιών εταιριών σε W...
Αυτοματοποίηση της μετατροπής των HR επιχειρησιακών διαδικασιών εταιριών σε W...Αυτοματοποίηση της μετατροπής των HR επιχειρησιακών διαδικασιών εταιριών σε W...
Αυτοματοποίηση της μετατροπής των HR επιχειρησιακών διαδικασιών εταιριών σε W...ISSEL
 
Automated digital transformation of HR business processes to web applications
Automated digital transformation of HR business processes to web applicationsAutomated digital transformation of HR business processes to web applications
Automated digital transformation of HR business processes to web applicationsISSEL
 
Thesis.Net Framework Training
Thesis.Net Framework TrainingThesis.Net Framework Training
Thesis.Net Framework Trainingpdalianis
 
Software requirements
Software requirementsSoftware requirements
Software requirementsGeorge Kara
 
Thesis.Net - Training
Thesis.Net - TrainingThesis.Net - Training
Thesis.Net - TrainingAnna Tsolakou
 
Thesis.Net Framework
Thesis.Net FrameworkThesis.Net Framework
Thesis.Net FrameworkMGAKIS
 

Similar a SQL Injection (20)

Δημιουργία Ιστοσελίδων
Δημιουργία ΙστοσελίδωνΔημιουργία Ιστοσελίδων
Δημιουργία Ιστοσελίδων
 
Beauty salon
Beauty salonBeauty salon
Beauty salon
 
Thesis.Net Features
Thesis.Net FeaturesThesis.Net Features
Thesis.Net Features
 
Asfask1
Asfask1Asfask1
Asfask1
 
Dontsios Dimitris
Dontsios DimitrisDontsios Dimitris
Dontsios Dimitris
 
08 - Λογαριασμοί και Δικαιώματα σε Database Server
08 - Λογαριασμοί και Δικαιώματα σε Database Server08 - Λογαριασμοί και Δικαιώματα σε Database Server
08 - Λογαριασμοί και Δικαιώματα σε Database Server
 
Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης παραγωγής Λογισμικού Ελέγχου...
Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης παραγωγής Λογισμικού Ελέγχου...Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης παραγωγής Λογισμικού Ελέγχου...
Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης παραγωγής Λογισμικού Ελέγχου...
 
Design and Implementation of a Mechanism that automates the generation of Sof...
Design and Implementation of a Mechanism that automates the generation of Sof...Design and Implementation of a Mechanism that automates the generation of Sof...
Design and Implementation of a Mechanism that automates the generation of Sof...
 
Drupal και PHP
Drupal και PHPDrupal και PHP
Drupal και PHP
 
Δούμας Οδυσσέας 7168
Δούμας Οδυσσέας 7168Δούμας Οδυσσέας 7168
Δούμας Οδυσσέας 7168
 
Αυτοματοποίηση της μετατροπής των HR επιχειρησιακών διαδικασιών εταιριών σε W...
Αυτοματοποίηση της μετατροπής των HR επιχειρησιακών διαδικασιών εταιριών σε W...Αυτοματοποίηση της μετατροπής των HR επιχειρησιακών διαδικασιών εταιριών σε W...
Αυτοματοποίηση της μετατροπής των HR επιχειρησιακών διαδικασιών εταιριών σε W...
 
Automated digital transformation of HR business processes to web applications
Automated digital transformation of HR business processes to web applicationsAutomated digital transformation of HR business processes to web applications
Automated digital transformation of HR business processes to web applications
 
Thesis.Net Framework Training
Thesis.Net Framework TrainingThesis.Net Framework Training
Thesis.Net Framework Training
 
Web sql: a quick approach (Greek)
Web sql: a quick approach (Greek)Web sql: a quick approach (Greek)
Web sql: a quick approach (Greek)
 
JavaScript
JavaScriptJavaScript
JavaScript
 
Software requirements
Software requirementsSoftware requirements
Software requirements
 
Sonar platform
Sonar platformSonar platform
Sonar platform
 
Thesis.Net - Training
Thesis.Net - TrainingThesis.Net - Training
Thesis.Net - Training
 
Μια εισαγωγή στο Bootstrap
Μια εισαγωγή στο Bootstrap Μια εισαγωγή στο Bootstrap
Μια εισαγωγή στο Bootstrap
 
Thesis.Net Framework
Thesis.Net FrameworkThesis.Net Framework
Thesis.Net Framework
 

Último

5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptx
5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptx5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptx
5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptxAthina Tziaki
 
Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ ΕΚΠΑΙΔΕΥΤΙΚΩΝ 2008
Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ ΕΚΠΑΙΔΕΥΤΙΚΩΝ  2008Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ ΕΚΠΑΙΔΕΥΤΙΚΩΝ  2008
Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ ΕΚΠΑΙΔΕΥΤΙΚΩΝ 2008Θεόδωρος Μαραγκούλας
 
Σουρεαλιστικά ταξίδια μέσα από την τέχνη
Σουρεαλιστικά ταξίδια μέσα από την τέχνηΣουρεαλιστικά ταξίδια μέσα από την τέχνη
Σουρεαλιστικά ταξίδια μέσα από την τέχνηTheodora Chandrinou
 
9.SPSS και δείκτες περιγραφικής στατιστικής.pdf
9.SPSS και δείκτες περιγραφικής στατιστικής.pdf9.SPSS και δείκτες περιγραφικής στατιστικής.pdf
9.SPSS και δείκτες περιγραφικής στατιστικής.pdfssuser2f8893
 
Επίσκεψη στο 10ο Γυμνάσιο Πάτρας
Επίσκεψη          στο 10ο Γυμνάσιο ΠάτραςΕπίσκεψη          στο 10ο Γυμνάσιο Πάτρας
Επίσκεψη στο 10ο Γυμνάσιο ΠάτραςDimitra Mylonaki
 
Επίσκεψη στο 11ο Γυμνάσιο Πάτρας
Επίσκεψη              στο 11ο Γυμνάσιο ΠάτραςΕπίσκεψη              στο 11ο Γυμνάσιο Πάτρας
Επίσκεψη στο 11ο Γυμνάσιο ΠάτραςDimitra Mylonaki
 
Πασχαλινά αυγά από τη Β΄ τάξη του σχολείου μας.pptx
Πασχαλινά αυγά από τη Β΄ τάξη του σχολείου μας.pptxΠασχαλινά αυγά από τη Β΄ τάξη του σχολείου μας.pptx
Πασχαλινά αυγά από τη Β΄ τάξη του σχολείου μας.pptx36dimperist
 
ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 2ο
ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 2οΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 2ο
ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 2οΧρύσα Παπακωνσταντίνου
 
Πασχαλινές Λαμπάδες από ΣΤ τάξη του σχολείου μας.pptx
Πασχαλινές Λαμπάδες από ΣΤ τάξη του σχολείου μας.pptxΠασχαλινές Λαμπάδες από ΣΤ τάξη του σχολείου μας.pptx
Πασχαλινές Λαμπάδες από ΣΤ τάξη του σχολείου μας.pptx36dimperist
 
Επίσκεψη στο 12ο Γυμνάσιο Πάτρας
Επίσκεψη          στο 12ο Γυμνάσιο ΠάτραςΕπίσκεψη          στο 12ο Γυμνάσιο Πάτρας
Επίσκεψη στο 12ο Γυμνάσιο ΠάτραςDimitra Mylonaki
 
Πασχαλινές λαμπάδες από τη Δ΄ τάξη του σχολείου μας.pptx
Πασχαλινές λαμπάδες από τη Δ΄ τάξη του σχολείου μας.pptxΠασχαλινές λαμπάδες από τη Δ΄ τάξη του σχολείου μας.pptx
Πασχαλινές λαμπάδες από τη Δ΄ τάξη του σχολείου μας.pptx36dimperist
 
Μαθητικά συμβούλια .
Μαθητικά συμβούλια                                  .Μαθητικά συμβούλια                                  .
Μαθητικά συμβούλια .Dimitra Mylonaki
 
Μαθητικές καταλήψεις
Μαθητικές                                  καταλήψειςΜαθητικές                                  καταλήψεις
Μαθητικές καταλήψειςDimitra Mylonaki
 
Γιορτή της μητέρας-Φύλλα εργασιών για όλες τις τάξεις
Γιορτή της μητέρας-Φύλλα εργασιών για όλες τις τάξειςΓιορτή της μητέρας-Φύλλα εργασιών για όλες τις τάξεις
Γιορτή της μητέρας-Φύλλα εργασιών για όλες τις τάξειςΟΛΓΑ ΤΣΕΧΕΛΙΔΟΥ
 
ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 1ο
ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ  ΜΕΡΟΣ 1ο ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ  ΜΕΡΟΣ 1ο
ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 1ο Χρύσα Παπακωνσταντίνου
 
Η Κινέζικη Αστρολογία - Ημερολόγιο - Ζώδια.docx
Η Κινέζικη Αστρολογία - Ημερολόγιο - Ζώδια.docxΗ Κινέζικη Αστρολογία - Ημερολόγιο - Ζώδια.docx
Η Κινέζικη Αστρολογία - Ημερολόγιο - Ζώδια.docxeucharis
 
Μια νύχτα σε κατάστημα παιχνιδιώνΚΕΙΜΕΝΑ
Μια νύχτα σε κατάστημα παιχνιδιώνΚΕΙΜΕΝΑΜια νύχτα σε κατάστημα παιχνιδιώνΚΕΙΜΕΝΑ
Μια νύχτα σε κατάστημα παιχνιδιώνΚΕΙΜΕΝΑDimitra Mylonaki
 

Último (20)

5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptx
5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptx5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptx
5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptx
 
Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ ΕΚΠΑΙΔΕΥΤΙΚΩΝ 2008
Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ ΕΚΠΑΙΔΕΥΤΙΚΩΝ  2008Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ ΕΚΠΑΙΔΕΥΤΙΚΩΝ  2008
Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ ΕΚΠΑΙΔΕΥΤΙΚΩΝ 2008
 
Σουρεαλιστικά ταξίδια μέσα από την τέχνη
Σουρεαλιστικά ταξίδια μέσα από την τέχνηΣουρεαλιστικά ταξίδια μέσα από την τέχνη
Σουρεαλιστικά ταξίδια μέσα από την τέχνη
 
9.SPSS και δείκτες περιγραφικής στατιστικής.pdf
9.SPSS και δείκτες περιγραφικής στατιστικής.pdf9.SPSS και δείκτες περιγραφικής στατιστικής.pdf
9.SPSS και δείκτες περιγραφικής στατιστικής.pdf
 
ΙΣΤΟΡΙΑ Α΄ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΨΗ 2024
ΙΣΤΟΡΙΑ Α΄ΓΥΜΝΑΣΙΟΥ  : ΕΠΑΝΑΛΗΨΗ 2024ΙΣΤΟΡΙΑ Α΄ΓΥΜΝΑΣΙΟΥ  : ΕΠΑΝΑΛΗΨΗ 2024
ΙΣΤΟΡΙΑ Α΄ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΨΗ 2024
 
Επίσκεψη στο 10ο Γυμνάσιο Πάτρας
Επίσκεψη          στο 10ο Γυμνάσιο ΠάτραςΕπίσκεψη          στο 10ο Γυμνάσιο Πάτρας
Επίσκεψη στο 10ο Γυμνάσιο Πάτρας
 
Επίσκεψη στο 11ο Γυμνάσιο Πάτρας
Επίσκεψη              στο 11ο Γυμνάσιο ΠάτραςΕπίσκεψη              στο 11ο Γυμνάσιο Πάτρας
Επίσκεψη στο 11ο Γυμνάσιο Πάτρας
 
Πασχαλινά αυγά από τη Β΄ τάξη του σχολείου μας.pptx
Πασχαλινά αυγά από τη Β΄ τάξη του σχολείου μας.pptxΠασχαλινά αυγά από τη Β΄ τάξη του σχολείου μας.pptx
Πασχαλινά αυγά από τη Β΄ τάξη του σχολείου μας.pptx
 
ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 2ο
ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 2οΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 2ο
ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 2ο
 
Πασχαλινές Λαμπάδες από ΣΤ τάξη του σχολείου μας.pptx
Πασχαλινές Λαμπάδες από ΣΤ τάξη του σχολείου μας.pptxΠασχαλινές Λαμπάδες από ΣΤ τάξη του σχολείου μας.pptx
Πασχαλινές Λαμπάδες από ΣΤ τάξη του σχολείου μας.pptx
 
Επίσκεψη στο 12ο Γυμνάσιο Πάτρας
Επίσκεψη          στο 12ο Γυμνάσιο ΠάτραςΕπίσκεψη          στο 12ο Γυμνάσιο Πάτρας
Επίσκεψη στο 12ο Γυμνάσιο Πάτρας
 
Πασχαλινές λαμπάδες από τη Δ΄ τάξη του σχολείου μας.pptx
Πασχαλινές λαμπάδες από τη Δ΄ τάξη του σχολείου μας.pptxΠασχαλινές λαμπάδες από τη Δ΄ τάξη του σχολείου μας.pptx
Πασχαλινές λαμπάδες από τη Δ΄ τάξη του σχολείου μας.pptx
 
Σεβασμός .
Σεβασμός                                   .Σεβασμός                                   .
Σεβασμός .
 
Μαθητικά συμβούλια .
Μαθητικά συμβούλια                                  .Μαθητικά συμβούλια                                  .
Μαθητικά συμβούλια .
 
Μαθητικές καταλήψεις
Μαθητικές                                  καταλήψειςΜαθητικές                                  καταλήψεις
Μαθητικές καταλήψεις
 
Γιορτή της μητέρας-Φύλλα εργασιών για όλες τις τάξεις
Γιορτή της μητέρας-Φύλλα εργασιών για όλες τις τάξειςΓιορτή της μητέρας-Φύλλα εργασιών για όλες τις τάξεις
Γιορτή της μητέρας-Φύλλα εργασιών για όλες τις τάξεις
 
ΙΣΤΟΡΙΑ Γ΄ ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΨΗ 2024
ΙΣΤΟΡΙΑ Γ΄ ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΨΗ 2024ΙΣΤΟΡΙΑ Γ΄ ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΨΗ 2024
ΙΣΤΟΡΙΑ Γ΄ ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΨΗ 2024
 
ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 1ο
ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ  ΜΕΡΟΣ 1ο ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ  ΜΕΡΟΣ 1ο
ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 1ο
 
Η Κινέζικη Αστρολογία - Ημερολόγιο - Ζώδια.docx
Η Κινέζικη Αστρολογία - Ημερολόγιο - Ζώδια.docxΗ Κινέζικη Αστρολογία - Ημερολόγιο - Ζώδια.docx
Η Κινέζικη Αστρολογία - Ημερολόγιο - Ζώδια.docx
 
Μια νύχτα σε κατάστημα παιχνιδιώνΚΕΙΜΕΝΑ
Μια νύχτα σε κατάστημα παιχνιδιώνΚΕΙΜΕΝΑΜια νύχτα σε κατάστημα παιχνιδιώνΚΕΙΜΕΝΑ
Μια νύχτα σε κατάστημα παιχνιδιώνΚΕΙΜΕΝΑ
 

SQL Injection

  • 1. University of Central Greece Computer Science and Biomedical Informatics SQL INJECTION System Security project Sapountzi Eleni Siganos Marios
  • 2. ΣΙ ΕΙΝΑΙ;  Σεχνικό που χρηςιμοποιεύται ςυχνϊ για επιθϋςεισ ςε ΒΔ μϋςω δικτυακού τόπου  Σεχνικό ϋγχυςησ (ειςαγωγόσ) κώδικα που εκμεταλλεύεται μύα ευπϊθεια αςφαλεύασ ςτο λογιςμικό ενόσ ιςτοτόπου  Οι επιθϋςεισ SQL injections εμφανύςτηκαν ταυτόχρονα με τισ πρώτεσ εφαρμογϋσ web  Μεγϊλοσ ο αριθμόσ των ςυςτημϊτων που εύναι ευϊλωτα ςτισ επιθϋςεισ SQL Injections  Εύκολα μπορεύ να διερευνηθεύ ςε μια εφαρμογό και με κατϊλληλη πρόβλεψη να αποφευχθεύ
  • 4. Μ Π Ο Ρ ΟΤ Μ Ε Ν Α Π ΡΑ Γ Μ ΑΣ Ο Π Ο Ι Η ΢ ΟΤ Μ Ε ΜΙΑ ΣΕΣΟΙΑ ΕΠΙΘΕ΢Η;
  • 5. Ε ΤΑ Λ ΩΣ Ε ΢ Β Δ Κ Α Ι ΓΛ Ω ΢ ΢ Ε ΢ Π Ρ Ο Γ ΡΑ Μ Μ ΑΣ Ι ΢ Μ ΟΤ ΢χεδόν όλεσ οι βϊςεισ δεδομϋνων SQL και γλώςςεσ προγραμματιςμού εύναι δυνητικϊ ευϊλωτεσ, πχ: MS SQL Server Oracle MySQL Postgres DB2 MS Access Sybase Informix, κλπ.
  • 6. Ε ΤΑ Λ ΩΣ Ε ΢ Β Δ Κ Α Ι ΓΛ Ω ΢ ΢ Ε ΢ Π Ρ Ο Γ ΡΑ Μ Μ ΑΣ Ι ΢ Μ ΟΤ Πρόςβαςη μϋςω εφαρμογών που ϋχουν αναπτυχθεύ με χρόςη:  Perl και CGI scripts  ASP, JSP, PHP  XML, XSL και XSQL  Javascript  VB, MFC, και ϊλλα ODBC-based εργαλεύα και APIs  DB ςυγκεκριμϋνη web-based εφαρμογϋσ και το API  Reports and DB Applications  3 and 4GL-based languages (C, OCI, Pro * C, COBOL)
  • 7. ΑΝΑΛΤ΢Η  Σι χρειαζόμαςτε; • Απλϊ ϋναν web browser  Σι πρϋπει να ψϊξουμε; • ΢ελύδεσ που επιτρϋπουν την ειςαγωγό δεδομϋνων όπωσ: • login page • search page • feedback κλπ. • HTML ςελύδεσ που χρηςιμοποιούν POST εντολϋσ για να ςτεύλουν τισ ςχετικϋσ παραμϋτρουσ ςε κϊποια ςελύδα ASP
  • 8. ΑΝΑΛΤ΢Η  Τπϊρχει δυνατότητα απομακρυςμϋνησ εκτϋλεςησ με SQL Injection; • Η SQL δύνει την δυνατότητα ςτουσ developers να κϊνουν ΣΑ ΠΑΝΣΑ ςε ϋνα ςύςτημα • O SQL Server τρϋχει ςαν SYSTEM, δηλαδό τα δικαιώματα που ϋχει εύναι επιπϋδου administrator ςτο ςύςτημα • Οπότε μπορούμε να αποκτόςουμε εύκολα πρόςβαςη, αφού μπορούμε να τρϋξουμε ότι θϋλουμε
  • 9. ΑΡΦΙΣΕΚΣΟΝΙΚΗ Web Server Application Server Database Server Web Input Injected SQL Page Validation Execution! Access Flaw
  • 10. ΠΩ΢;  Ειςϊγοντασ δηλώςεισ SQL ςτα πεδύα καταχώρηςησ φορμών ιςτοςελύδων • Πχ. αλλαγό ό διαγραφό περιεχομϋνου ςε ΒΔ πιςτωτικών καρτών ό κωδικών πρόςβαςησ
  • 11. ΕΤΠΑΘΕΙΑ Ελλιπόσ ό λανθαςμϋνη επαλόθευςη (validation) των δεδομϋνων ειςόδου (input data) μιασ εφαρμογόσ ςε: • φόρμεσ (μϋθοδοι HTTP GET και POST) • links (μϋθοδοσ HTTP GET)
  • 12. Α Ν Α ΛΤ ΢ Η Μ Ι Α ΢ Ε Τ Π ΑΘ ΟΤ ΢ W E B ΕΥΑ Ρ Μ Ο Γ Η ΢
  • 13. ΠΑΡΑΔΕΙΓΜΑ 1 Έςτω πύνακασ «employees» ςε μια ΒΔ MySQL Ευπαθϋσ block κώδικα PHP <?php $qry = "SELECT employeeid, fullname, salary FROM employees " . "WHERE employeeid =" . $_GET['employeeid']; $result = mysql_query($qry); ?> ΢κοπόσ εύναι η εκτϋλεςη επερώτηςεων τησ μορφόσ: SELECT employeeid, fullname, salary FROM employees WHERE employeeid = 3 SELECT employeeid, fullname, salary FROM employees WHERE employeeid = 352
  • 14. ΠΑΡΑΔΕΙΓΜΑ 1 Σο Employeeid εύναι το πρωτεύον κλειδύ ςτον πύνακα employees δύνεται μϋςω browser, με χρόςη τησ μεθόδου GET του HTTP με link τησ μορφόσ: http://www.example.com/employees.php?employeeid=3 Η τιμό τησ παραμϋτρου GET «employeeid» που δύνεται ςτο URL, ΔΕΝ επαληθεύεται επαρκώσ πριν την εκτϋλεςη τησ επερώτηςησ από τον κώδικα http://www.example.com/employees.php?employeeid=3 OR 1=1 Ωσ αποτϋλεςμα θα εκτελεςτεύ ςτη βϊςη δεδομϋνων η εξόσ επερώτηςη: •SELECT employeeid, fullname, salary FROM employees WHERE employeeid=3 OR 1=1 Έτςι ενδϋχεται ο κακόβουλοσ χρόςτησ να δει πληροφορύεσ που δεν εύναι ςκόπιμο
  • 15. ΠΑΡΑΔΕΙΓΜΑ 2 Login form Ευπαθϋσ block κώδικα PHP <?php $username = $_POST['username']; $password = $_POST['password']; $qry = "SELECT userid FROM users" . " WHERE username='$username' AND password='$password'"; $result = mysql_query($qry); if (mysql_numrows($result) > 0) { //log in user... } ?>
  • 16. ΠΑΡΑΔΕΙΓΜΑ 2 Οι τιμϋσ username και password δύνονται με χρόςη μιασ τυπικόσ web login φόρμασ με τη μϋθοδο HTTP POST Αν δώςουμε ςτο πεδύο password: bar' OR 1=1 OR username=' ϋχουμε την εκτϋλεςη τησ επερώτηςησ: •SELECT userid FROM users WHERE username='foo' AND password='bar' OR 1=1 OR username=''; Έτςι ενδϋχεται η πρόςβαςη ςτην εφαρμογό (login) από ϊτομα που δεν εύναι εξουςιοδοτημϋνα
  • 17. ΠΑΡΑΔΕΙΓΜΑ 3 Πολλαπλϋσ εντολϋσ SQL ωσ μια επερώτηςη ςτο ςύςτημα Ο μεγαλύτεροσ κύνδυνοσ ςτα SQL Injections!!! Παρϊδειγμα ευπαθούσ block κώδικα PHP <?php $qry = "SELECT employeeid, fullname, salary FROM employees " . "WHERE employeeid =" . $_GET['employeeid']; $result = pg_query($qry); ?>
  • 18. ΠΑΡΑΔΕΙΓΜΑ 3 Δεδομϋνα ειςόδου από links τησ μορφόσ: http://www.example.com/employees.php?employeeid=3 Αποτϋλεςμα η εκτϋλεςη τησ επερώτηςησ:  SELECT employeeid, fullname, salary FROM employees WHERE employeeid = 3
  • 19. ΠΑΡΑΔΕΙΓΜΑ 3 Ο κακόβουλοσ χρόςτησ δύνει τo εξόσ URL  http://www.example.com/employees.php?employeeid=3; DELETE FROM users; Έτςι θα εκτελεςτούν οι 2 εντολϋσ:  SELECT employeeid, fullname, salary FROM employees WHERE employeeid = 3;  DELETE FROM users; Διαγραφό όλων των δεδομϋνων του πύνακα users από τη βϊςη!
  • 20. Α Ν Α Ζ Η Σ Η ΢ Η Ε Τ Π ΑΘ Ω Ν Ι ΢ Σ Ε ΢ Ε Λ Ι ΔΩ Ν Φ Ρ Η ΢ Ι Μ Ο Π Ο Ι Ω Ν ΣΑ ΢ G O O G L E D O R K S Αναζότηςη με τα παρακϊτω: Προςθϋτουμε ’ ςτο τϋλοσ  inurl:index.php?id= του url και αν εμφανύςει error τότε η ιςτοςελύδα  inurl:index.php?catid= εύναι ευϊλωτη ςε SQLi  inurl:news.php?id= επιθϋςεισ  inurl:news.php?catid=  inurl:product.php?id=
  • 21. Η ΔΤΝΑΜΗ ΣΟΤ «’»  Κλεύνει την παρϊμετρο ςυμβολοςειρϊσ  Ό,τι ακολουθεύ θεωρεύται μϋροσ τησ εντολόσ SQL  Παραπλανητικϋσ προτϊςεισ Διαδικτύου περιλαμβϊνουν: • Αποφύγετε το! : Αντικαταςτόςτε το με ’’  Σα αλφαριθμητικϊ πεδύα εύναι πολύ ςυχνϊ, αλλϊ υπϊρχουν και ϊλλα εύδη πεδύων: • Αριθμητικϊ • Ημερομηνύεσ
  • 22. Α Ν Α Ζ Η Σ Η ΢ Η Ι ΢ ΣΟ΢ Ε Λ Ι ΔΩ Ν Ε Τ Π ΑΘ Ω Ν ΢ Ε S Q L I N J EC T I O N  Automated and heuristic web vulnerability scanner  Ανώφελο να ανιχνεύςουμε μόνο τισ αδυναμύεσ των γνωςτών εφαρμογών  Πιο ευπαθεύσ εύναι οι εφαρμογϋσ που προςαρμόζονται από τον χρόςτη
  • 23. SQLMAP  Open Source penetration testing tool  Αυτοματοποιεύ τον εντοπιςμό και την αξιοπούηςη των ελαττωμϊτων SQLi και την ανϊληψη των εξυπηρετητών ΒΔ  Τποςτόριξη για απαρύθμηςη των χρηςτών τησ ΒΔ, «password hashes» των χρηςτών, προνόμια, τουσ ρόλουσ των χρηςτών, ΒΔ, πύνακεσ και ςτόλεσ
  • 24. SQLMAP Αναγνώριςη τησ μορφόσ των «password hashes» και υποςτηρύζονται για να ςπϊςουν με επύθεςη λεξικού Εντοπιςμόσ των πινϊκων που περιϋχουν διαπιςτευτόρια όπου τα ονόματα αντύςτοιχων ςτηλών περιϋχουν ςυμβολοςειρϋσ όπωσ το name και pass
  • 25. SQLMAP - ΣΕΦΝΙΚΕ΢  Boolean-based blind SQL injection ό inferential SQL injection  Time-based blind SQL injection ό blind SQL injection  Error-based SQL injection  UNION query SQL injection ό inband SQL injection  Stacked queries SQL injection ό multiple statements SQL injection
  • 26. ΠΩ΢ ΑΠΟ ΥΕΤΓΟΤΜΕ SQL INJECTIONS; Αποφεύγουμε χαρακτόρεσ όπωσ: • quotes, slash, backslash, semicolon, NULL, new line, κλπ που εντοπύζονται ςε: • πεδύα από φόρμεσ ειςαγωγόσ από τουσ χρόςτεσ • παραμϋτρουσ ςτο URL • τιμϋσ από cookies
  • 27. ΠΩ΢ ΑΠΟ ΥΕΤΓΟΤΜΕ SQL INJECTIONS; Όλα τα νούμερα μετατρϋπονται ςε ακεραύουσ Διαγραφό των stored procedures που δεν ςασ αρϋςουν και δεν χρειϊζεςτε όπωσ: • master..Xp_cmdshell, • xp_startmail, • xp_sendmail, • sp_makewebtask
  • 28. ΢ΤΜΠΕΡΑ΢ΜΑΣΑ  Η SQL Injection εύναι ςυναρπαςτικό και επικύνδυνη ευπϊθεια  Όλεσ οι γλώςςεσ προγραμματιςμού και ΒΔ SQL εύναι δυνητικϊ ευϊλωτεσ  Προςταςύα από SQLi απαιτεύ: • ανθεκτικό ςχεδιαςμό • ςωςτό επικύρωςη των δεδομϋνων ειςόδου