SlideShare a Scribd company logo
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 απαιτεύ:
    • ανθεκτικό ςχεδιαςμό
    • ςωςτό επικύρωςη των δεδομϋνων ειςόδου
΢Α΢ ΕΤΦΑΡΙ΢ΣΟΤΜΕ!

More Related Content

Viewers also liked

Sql Injection Myths and Fallacies
Sql Injection Myths and FallaciesSql Injection Myths and Fallacies
Sql Injection Myths and Fallacies
Karwin Software Solutions LLC
 
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
Pichaya Morimoto
 
Sql Injection - Vulnerability and Security
Sql Injection - Vulnerability and SecuritySql Injection - Vulnerability and Security
Sql Injection - Vulnerability and Security
Sandip Chaudhari
 
D:\Technical\Ppt\Sql Injection
D:\Technical\Ppt\Sql InjectionD:\Technical\Ppt\Sql Injection
D:\Technical\Ppt\Sql Injection
avishkarm
 
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 countermasures
Cade Zvavanjanja
 
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
Bernardo Damele A. G.
 
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
Leslie Samuel
 
Les attaques par injection sql
Les attaques par injection sqlLes attaques par injection sql
Les attaques par injection sql
Mohamed Yassin
 
Sql Injection Attacks Siddhesh
Sql Injection Attacks SiddheshSql Injection Attacks Siddhesh
Sql Injection Attacks Siddhesh
Siddhesh Bhobe
 
Sql injection attack
Sql injection attackSql injection attack
Sql injection attack
RajKumar Rampelli
 
SQL INJECTION
SQL INJECTIONSQL INJECTION
SQL INJECTION
Anoop T
 
TYPES OF HACKING
TYPES OF HACKINGTYPES OF HACKING
TYPES OF HACKING
SHERALI445
 
Introduction To Ethical Hacking
Introduction To Ethical HackingIntroduction To Ethical Hacking
Introduction To Ethical Hacking
Neel Kamal
 
ethical hacking in the modern times
ethical hacking in the modern timesethical hacking in the modern times
ethical hacking in the modern times
jeshin jose
 
Ethical hacking presentation
Ethical hacking presentationEthical hacking presentation
Ethical hacking presentation
Suryansh Srivastava
 

Viewers also liked (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 to SQL Injection

Δημιουργία Ιστοσελίδων
Δημιουργία ΙστοσελίδωνΔημιουργία Ιστοσελίδων
Δημιουργία Ιστοσελίδων
Despina Kamilali
 
Beauty salon
Beauty salonBeauty salon
Beauty salon
'Yiannis Stav'
 
Thesis.Net Features
Thesis.Net FeaturesThesis.Net Features
Thesis.Net Features
MGAKIS
 
Dontsios Dimitris
Dontsios DimitrisDontsios Dimitris
Dontsios Dimitris
ISSEL
 
08 - Λογαριασμοί και Δικαιώματα σε Database Server
08 - Λογαριασμοί και Δικαιώματα σε Database Server08 - Λογαριασμοί και Δικαιώματα σε Database Server
08 - Λογαριασμοί και Δικαιώματα σε Database Server
Fotis 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
 
Drupal και PHP
Drupal και PHPDrupal και PHP
Δούμας Οδυσσέας 7168
Δούμας Οδυσσέας 7168Δούμας Οδυσσέας 7168
Δούμας Οδυσσέας 7168
ISSEL
 
Αυτοματοποίηση της μετατροπής των 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 applications
ISSEL
 
Thesis.Net Framework Training
Thesis.Net Framework TrainingThesis.Net Framework Training
Thesis.Net Framework Trainingpdalianis
 
JavaScript
JavaScriptJavaScript
JavaScript
KVoulgaris
 
Software requirements
Software requirementsSoftware requirements
Software requirements
George Kara
 
Sonar platform
Sonar platformSonar platform
Thesis.Net - Training
Thesis.Net - TrainingThesis.Net - Training
Thesis.Net - Training
Anna Tsolakou
 
Μια εισαγωγή στο Bootstrap
Μια εισαγωγή στο Bootstrap Μια εισαγωγή στο Bootstrap
Μια εισαγωγή στο Bootstrap
Θεόφιλος Κατσιγιάννης
 
Thesis.Net Framework
Thesis.Net FrameworkThesis.Net Framework
Thesis.Net Framework
MGAKIS
 

Similar to 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
 

Recently uploaded

PANELLINIES 2024 EKTHESI NEA ELLINIKA EPAL
PANELLINIES 2024 EKTHESI NEA ELLINIKA EPALPANELLINIES 2024 EKTHESI NEA ELLINIKA EPAL
PANELLINIES 2024 EKTHESI NEA ELLINIKA EPAL
ssuserf9afe7
 
Σχέδιο Δράσης Ομίλου Ρομποτικής - 56ου Γυμνασίου ΑθήναςSxedio2023-24OmilosRom...
Σχέδιο Δράσης Ομίλου Ρομποτικής - 56ου Γυμνασίου ΑθήναςSxedio2023-24OmilosRom...Σχέδιο Δράσης Ομίλου Ρομποτικής - 56ου Γυμνασίου ΑθήναςSxedio2023-24OmilosRom...
Σχέδιο Δράσης Ομίλου Ρομποτικής - 56ου Γυμνασίου ΑθήναςSxedio2023-24OmilosRom...
Tassos Karampinis
 
them_arxaia_gel_arxaiaellinika2024gel.pdf
them_arxaia_gel_arxaiaellinika2024gel.pdfthem_arxaia_gel_arxaiaellinika2024gel.pdf
them_arxaia_gel_arxaiaellinika2024gel.pdf
konstantinantountoum1
 
Εκπαιδευτική επίσκεψη στο Μουσείο της Ακρόπολης.pptx
Εκπαιδευτική επίσκεψη στο Μουσείο της Ακρόπολης.pptxΕκπαιδευτική επίσκεψη στο Μουσείο της Ακρόπολης.pptx
Εκπαιδευτική επίσκεψη στο Μουσείο της Ακρόπολης.pptx
41dimperisteriou
 
Αναμνήσεις σχολικής χρονιάς.pdfΛεύκωμα / σχολικες αναμνησεις
Αναμνήσεις σχολικής χρονιάς.pdfΛεύκωμα / σχολικες αναμνησειςΑναμνήσεις σχολικής χρονιάς.pdfΛεύκωμα / σχολικες αναμνησεις
Αναμνήσεις σχολικής χρονιάς.pdfΛεύκωμα / σχολικες αναμνησεις
ΟΛΓΑ ΤΣΕΧΕΛΙΔΟΥ
 
TEST 1 - ΙΑΣΟΝΑΣ ΠΕΤΡΟΣ hhhh (ΒΟΥΝΑ ΠΟΤΑΜΙΑ).ppt
TEST 1 - ΙΑΣΟΝΑΣ ΠΕΤΡΟΣ hhhh (ΒΟΥΝΑ ΠΟΤΑΜΙΑ).pptTEST 1 - ΙΑΣΟΝΑΣ ΠΕΤΡΟΣ hhhh (ΒΟΥΝΑ ΠΟΤΑΜΙΑ).ppt
TEST 1 - ΙΑΣΟΝΑΣ ΠΕΤΡΟΣ hhhh (ΒΟΥΝΑ ΠΟΤΑΜΙΑ).ppt
nikzoit
 
Απολογισμός Ομίλου Ρομποτικής - SxedioDrasis2023-24ApologismosRobotiki-F.docx
Απολογισμός Ομίλου Ρομποτικής - SxedioDrasis2023-24ApologismosRobotiki-F.docxΑπολογισμός Ομίλου Ρομποτικής - SxedioDrasis2023-24ApologismosRobotiki-F.docx
Απολογισμός Ομίλου Ρομποτικής - SxedioDrasis2023-24ApologismosRobotiki-F.docx
Tassos Karampinis
 
Σχέδιο Δράσης - 56ο Γυμνάσιο ΑΘήνας. Sxedio2023-24OmilosEikastikwn.doc
Σχέδιο Δράσης - 56ο Γυμνάσιο ΑΘήνας. Sxedio2023-24OmilosEikastikwn.docΣχέδιο Δράσης - 56ο Γυμνάσιο ΑΘήνας. Sxedio2023-24OmilosEikastikwn.doc
Σχέδιο Δράσης - 56ο Γυμνάσιο ΑΘήνας. Sxedio2023-24OmilosEikastikwn.doc
Tassos Karampinis
 
ΕΓΚΥΚΛ.-ΠΑΡΑΛ.-ΣΤΗΡΙΞΗΣ-2024-25-ΨΒΣΕ46ΝΚΠΔ-1ΦΤ.pdf
ΕΓΚΥΚΛ.-ΠΑΡΑΛ.-ΣΤΗΡΙΞΗΣ-2024-25-ΨΒΣΕ46ΝΚΠΔ-1ΦΤ.pdfΕΓΚΥΚΛ.-ΠΑΡΑΛ.-ΣΤΗΡΙΞΗΣ-2024-25-ΨΒΣΕ46ΝΚΠΔ-1ΦΤ.pdf
ΕΓΚΥΚΛ.-ΠΑΡΑΛ.-ΣΤΗΡΙΞΗΣ-2024-25-ΨΒΣΕ46ΝΚΠΔ-1ΦΤ.pdf
2lykkomo
 
Το θέμα που έπεσε στην Έκθεση στα ΕΠΑΛ και ολα τα θέμα στα Νέα Ελληνικά
Το θέμα που έπεσε στην Έκθεση στα ΕΠΑΛ και ολα τα θέμα στα Νέα ΕλληνικάΤο θέμα που έπεσε στην Έκθεση στα ΕΠΑΛ και ολα τα θέμα στα Νέα Ελληνικά
Το θέμα που έπεσε στην Έκθεση στα ΕΠΑΛ και ολα τα θέμα στα Νέα Ελληνικά
athinadimi
 
Απαντήσεις Μαθηματικών-Πανελλήνιες-2024-3.pdf
Απαντήσεις Μαθηματικών-Πανελλήνιες-2024-3.pdfΑπαντήσεις Μαθηματικών-Πανελλήνιες-2024-3.pdf
Απαντήσεις Μαθηματικών-Πανελλήνιες-2024-3.pdf
athinadimi
 
一比一原版(USYD毕业证书)悉尼大学毕业证成绩单如何办理
一比一原版(USYD毕业证书)悉尼大学毕业证成绩单如何办理一比一原版(USYD毕业证书)悉尼大学毕业证成绩单如何办理
一比一原版(USYD毕业证书)悉尼大学毕业证成绩单如何办理
3zoh0uxr
 
ΑΠΑΝΤΗΣΕΙΣ ΕΚΘΕΣΗ ΕΠΑΛ ΓΙΑ ΤΙΣ ΠΑΝΕΛΛΗΝΙΕΣ 2024
ΑΠΑΝΤΗΣΕΙΣ ΕΚΘΕΣΗ ΕΠΑΛ ΓΙΑ ΤΙΣ ΠΑΝΕΛΛΗΝΙΕΣ 2024ΑΠΑΝΤΗΣΕΙΣ ΕΚΘΕΣΗ ΕΠΑΛ ΓΙΑ ΤΙΣ ΠΑΝΕΛΛΗΝΙΕΣ 2024
ΑΠΑΝΤΗΣΕΙΣ ΕΚΘΕΣΗ ΕΠΑΛ ΓΙΑ ΤΙΣ ΠΑΝΕΛΛΗΝΙΕΣ 2024
athinadimi
 
Τα θέματα στη Νεοελληνική Γλώσσα - Έκθεση
Τα θέματα στη Νεοελληνική Γλώσσα - ΈκθεσηΤα θέματα στη Νεοελληνική Γλώσσα - Έκθεση
Τα θέματα στη Νεοελληνική Γλώσσα - Έκθεση
Newsroom8
 
Panelllinies 2024 ekthesi nea ellinika.pdf
Panelllinies 2024 ekthesi nea ellinika.pdfPanelllinies 2024 ekthesi nea ellinika.pdf
Panelllinies 2024 ekthesi nea ellinika.pdf
ssuserf9afe7
 
Το υλικό του υπολογιστή - Πληροφορική Α΄ Γυμνασίου
Το υλικό του υπολογιστή - Πληροφορική Α΄ ΓυμνασίουΤο υλικό του υπολογιστή - Πληροφορική Α΄ Γυμνασίου
Το υλικό του υπολογιστή - Πληροφορική Α΄ Γυμνασίου
ssuserd4abe0
 
Η τέχνη του Sampling/ The art of Sampling
Η τέχνη του Sampling/ The art of SamplingΗ τέχνη του Sampling/ The art of Sampling
Η τέχνη του Sampling/ The art of Sampling
ssuser6717fd
 
Τα θέματα σε Ανατομία-Φυσιολογία ΙΙ στα ΕΠΑΛ
Τα θέματα σε Ανατομία-Φυσιολογία ΙΙ στα ΕΠΑΛΤα θέματα σε Ανατομία-Φυσιολογία ΙΙ στα ΕΠΑΛ
Τα θέματα σε Ανατομία-Φυσιολογία ΙΙ στα ΕΠΑΛ
Newsroom8
 
一比一原版(CSU毕业证书)查尔斯特大学毕业证成绩单如何办理
一比一原版(CSU毕业证书)查尔斯特大学毕业证成绩单如何办理一比一原版(CSU毕业证书)查尔斯特大学毕业证成绩单如何办理
一比一原版(CSU毕业证书)查尔斯特大学毕业证成绩单如何办理
3zoh0uxr
 
panellinies 2024 GEL EKTHESI YPOYRGEIO.pdf
panellinies 2024 GEL EKTHESI YPOYRGEIO.pdfpanellinies 2024 GEL EKTHESI YPOYRGEIO.pdf
panellinies 2024 GEL EKTHESI YPOYRGEIO.pdf
ssuserf9afe7
 

Recently uploaded (20)

PANELLINIES 2024 EKTHESI NEA ELLINIKA EPAL
PANELLINIES 2024 EKTHESI NEA ELLINIKA EPALPANELLINIES 2024 EKTHESI NEA ELLINIKA EPAL
PANELLINIES 2024 EKTHESI NEA ELLINIKA EPAL
 
Σχέδιο Δράσης Ομίλου Ρομποτικής - 56ου Γυμνασίου ΑθήναςSxedio2023-24OmilosRom...
Σχέδιο Δράσης Ομίλου Ρομποτικής - 56ου Γυμνασίου ΑθήναςSxedio2023-24OmilosRom...Σχέδιο Δράσης Ομίλου Ρομποτικής - 56ου Γυμνασίου ΑθήναςSxedio2023-24OmilosRom...
Σχέδιο Δράσης Ομίλου Ρομποτικής - 56ου Γυμνασίου ΑθήναςSxedio2023-24OmilosRom...
 
them_arxaia_gel_arxaiaellinika2024gel.pdf
them_arxaia_gel_arxaiaellinika2024gel.pdfthem_arxaia_gel_arxaiaellinika2024gel.pdf
them_arxaia_gel_arxaiaellinika2024gel.pdf
 
Εκπαιδευτική επίσκεψη στο Μουσείο της Ακρόπολης.pptx
Εκπαιδευτική επίσκεψη στο Μουσείο της Ακρόπολης.pptxΕκπαιδευτική επίσκεψη στο Μουσείο της Ακρόπολης.pptx
Εκπαιδευτική επίσκεψη στο Μουσείο της Ακρόπολης.pptx
 
Αναμνήσεις σχολικής χρονιάς.pdfΛεύκωμα / σχολικες αναμνησεις
Αναμνήσεις σχολικής χρονιάς.pdfΛεύκωμα / σχολικες αναμνησειςΑναμνήσεις σχολικής χρονιάς.pdfΛεύκωμα / σχολικες αναμνησεις
Αναμνήσεις σχολικής χρονιάς.pdfΛεύκωμα / σχολικες αναμνησεις
 
TEST 1 - ΙΑΣΟΝΑΣ ΠΕΤΡΟΣ hhhh (ΒΟΥΝΑ ΠΟΤΑΜΙΑ).ppt
TEST 1 - ΙΑΣΟΝΑΣ ΠΕΤΡΟΣ hhhh (ΒΟΥΝΑ ΠΟΤΑΜΙΑ).pptTEST 1 - ΙΑΣΟΝΑΣ ΠΕΤΡΟΣ hhhh (ΒΟΥΝΑ ΠΟΤΑΜΙΑ).ppt
TEST 1 - ΙΑΣΟΝΑΣ ΠΕΤΡΟΣ hhhh (ΒΟΥΝΑ ΠΟΤΑΜΙΑ).ppt
 
Απολογισμός Ομίλου Ρομποτικής - SxedioDrasis2023-24ApologismosRobotiki-F.docx
Απολογισμός Ομίλου Ρομποτικής - SxedioDrasis2023-24ApologismosRobotiki-F.docxΑπολογισμός Ομίλου Ρομποτικής - SxedioDrasis2023-24ApologismosRobotiki-F.docx
Απολογισμός Ομίλου Ρομποτικής - SxedioDrasis2023-24ApologismosRobotiki-F.docx
 
Σχέδιο Δράσης - 56ο Γυμνάσιο ΑΘήνας. Sxedio2023-24OmilosEikastikwn.doc
Σχέδιο Δράσης - 56ο Γυμνάσιο ΑΘήνας. Sxedio2023-24OmilosEikastikwn.docΣχέδιο Δράσης - 56ο Γυμνάσιο ΑΘήνας. Sxedio2023-24OmilosEikastikwn.doc
Σχέδιο Δράσης - 56ο Γυμνάσιο ΑΘήνας. Sxedio2023-24OmilosEikastikwn.doc
 
ΕΓΚΥΚΛ.-ΠΑΡΑΛ.-ΣΤΗΡΙΞΗΣ-2024-25-ΨΒΣΕ46ΝΚΠΔ-1ΦΤ.pdf
ΕΓΚΥΚΛ.-ΠΑΡΑΛ.-ΣΤΗΡΙΞΗΣ-2024-25-ΨΒΣΕ46ΝΚΠΔ-1ΦΤ.pdfΕΓΚΥΚΛ.-ΠΑΡΑΛ.-ΣΤΗΡΙΞΗΣ-2024-25-ΨΒΣΕ46ΝΚΠΔ-1ΦΤ.pdf
ΕΓΚΥΚΛ.-ΠΑΡΑΛ.-ΣΤΗΡΙΞΗΣ-2024-25-ΨΒΣΕ46ΝΚΠΔ-1ΦΤ.pdf
 
Το θέμα που έπεσε στην Έκθεση στα ΕΠΑΛ και ολα τα θέμα στα Νέα Ελληνικά
Το θέμα που έπεσε στην Έκθεση στα ΕΠΑΛ και ολα τα θέμα στα Νέα ΕλληνικάΤο θέμα που έπεσε στην Έκθεση στα ΕΠΑΛ και ολα τα θέμα στα Νέα Ελληνικά
Το θέμα που έπεσε στην Έκθεση στα ΕΠΑΛ και ολα τα θέμα στα Νέα Ελληνικά
 
Απαντήσεις Μαθηματικών-Πανελλήνιες-2024-3.pdf
Απαντήσεις Μαθηματικών-Πανελλήνιες-2024-3.pdfΑπαντήσεις Μαθηματικών-Πανελλήνιες-2024-3.pdf
Απαντήσεις Μαθηματικών-Πανελλήνιες-2024-3.pdf
 
一比一原版(USYD毕业证书)悉尼大学毕业证成绩单如何办理
一比一原版(USYD毕业证书)悉尼大学毕业证成绩单如何办理一比一原版(USYD毕业证书)悉尼大学毕业证成绩单如何办理
一比一原版(USYD毕业证书)悉尼大学毕业证成绩单如何办理
 
ΑΠΑΝΤΗΣΕΙΣ ΕΚΘΕΣΗ ΕΠΑΛ ΓΙΑ ΤΙΣ ΠΑΝΕΛΛΗΝΙΕΣ 2024
ΑΠΑΝΤΗΣΕΙΣ ΕΚΘΕΣΗ ΕΠΑΛ ΓΙΑ ΤΙΣ ΠΑΝΕΛΛΗΝΙΕΣ 2024ΑΠΑΝΤΗΣΕΙΣ ΕΚΘΕΣΗ ΕΠΑΛ ΓΙΑ ΤΙΣ ΠΑΝΕΛΛΗΝΙΕΣ 2024
ΑΠΑΝΤΗΣΕΙΣ ΕΚΘΕΣΗ ΕΠΑΛ ΓΙΑ ΤΙΣ ΠΑΝΕΛΛΗΝΙΕΣ 2024
 
Τα θέματα στη Νεοελληνική Γλώσσα - Έκθεση
Τα θέματα στη Νεοελληνική Γλώσσα - ΈκθεσηΤα θέματα στη Νεοελληνική Γλώσσα - Έκθεση
Τα θέματα στη Νεοελληνική Γλώσσα - Έκθεση
 
Panelllinies 2024 ekthesi nea ellinika.pdf
Panelllinies 2024 ekthesi nea ellinika.pdfPanelllinies 2024 ekthesi nea ellinika.pdf
Panelllinies 2024 ekthesi nea ellinika.pdf
 
Το υλικό του υπολογιστή - Πληροφορική Α΄ Γυμνασίου
Το υλικό του υπολογιστή - Πληροφορική Α΄ ΓυμνασίουΤο υλικό του υπολογιστή - Πληροφορική Α΄ Γυμνασίου
Το υλικό του υπολογιστή - Πληροφορική Α΄ Γυμνασίου
 
Η τέχνη του Sampling/ The art of Sampling
Η τέχνη του Sampling/ The art of SamplingΗ τέχνη του Sampling/ The art of Sampling
Η τέχνη του Sampling/ The art of Sampling
 
Τα θέματα σε Ανατομία-Φυσιολογία ΙΙ στα ΕΠΑΛ
Τα θέματα σε Ανατομία-Φυσιολογία ΙΙ στα ΕΠΑΛΤα θέματα σε Ανατομία-Φυσιολογία ΙΙ στα ΕΠΑΛ
Τα θέματα σε Ανατομία-Φυσιολογία ΙΙ στα ΕΠΑΛ
 
一比一原版(CSU毕业证书)查尔斯特大学毕业证成绩单如何办理
一比一原版(CSU毕业证书)查尔斯特大学毕业证成绩单如何办理一比一原版(CSU毕业证书)查尔斯特大学毕业证成绩单如何办理
一比一原版(CSU毕业证书)查尔斯特大学毕业证成绩单如何办理
 
panellinies 2024 GEL EKTHESI YPOYRGEIO.pdf
panellinies 2024 GEL EKTHESI YPOYRGEIO.pdfpanellinies 2024 GEL EKTHESI YPOYRGEIO.pdf
panellinies 2024 GEL EKTHESI YPOYRGEIO.pdf
 

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 απαιτεύ: • ανθεκτικό ςχεδιαςμό • ςωςτό επικύρωςη των δεδομϋνων ειςόδου