Οι παρακάτω οδηγοί είναι καθαρά για εκπαιδευτικούς σκοπούς, οποιαδήποτε κακόβουλη χρήση τους είναι προσωπική σας ευθύνη

Advance Sql Injection

**Η SQL injection μπορεί να χωριστή σε 3 κατηγοριες**

INBAND:
Τα δεδομένα εξάγονται χρησιμοποιώντας το ίδιο κανάλι με αυτό που χρησιμοποιείτε για το
injection στην SQL. Αυτός είναι ο πιο απλός τύπος επιθέσεις SQL όπου τα δεδομένα
παρουσιάζονται απευθείας στην ιστιοσελίδα.


OUT_OF_BAND:
Τα δεδομένα εξάγονται χρησιμοποιώντας διαφορετικό κανάλι (π.χ κάποιο email) δηλαδή τα
δεδομένα από το injection στέλνονται σε ένα email που έχει προκαθοριστεί.


INFERENTIAL:
Δεν υπάρχει πραγματική μεταφορά δεδομένων αλλα ο επιτιθέμενος είναι σε θέσει να
ανακατασκευάσει τις πληροφορίες με την αποστολή συγκεκριμένου αιτήματος προς την
βάση δεδομένων και παρατηρώντας την "συμπεριφορά" αντίδραση του website.

**ΤΥΠΟΙ SQL INJECTION**

ERROR-BASED: Ρωτάμε την Database κάτι που θα προκαλέσει κάποιο error

#παράδειγμα: http://example.com/page.asp?id=1 or 1=convert(int,(USER))--


UNION-BASED: Το SQL union χρησιμοποιείτε για να συνδυάσει τα αποτελέσματα δυο η
περισσοτερων SELECT SQL σε ένα και μονο αποτέλεσμα

#παράδειγμα: http://example.com/page.asp?id=1 UNION SELECT ALL 1,2,3,4--
             http://example.com/page.asp?id=1 UNION SELECT ALL 1,USER,3,4--


BLIND-BASED: Κάνουμε στην Database μια true/false ερώτηση και περιμένουμε εάν θα πάρουμε
θετική απαντήσει, δηλαδή εάν θα εμφανιστεί το αποτέλεσμα που ρωτήσαμε, η αλλιώς
χρησιμοποιώντας τον χρόνο ως μια παράμετρο

#παράδειγμα: http://example.com/page.asp?id=1;IF(LEN(USER)=1)WAITFOR DELAY '00:00:05'
             http://example.com/page.asp?id=1;IF(LEN(USER)=2)WAITFOR DELAY '00:00:05'
             http://example.com/page.asp?id=1;IF(LEN(USER)=3)WAITFOR DELAY '00:00:05'

**ΚΑΘΟΡΙΣΤΕ ΤΟΝ ΤΥΠΟ ΤΗΣ SQL INJECTION**

Υπάρχουν δυο τύποι injection που βασίζονται στο εάν ο τύπος του ευπαθές site είναι
βασισμένο σε Integer η σε String.
Στην περίπτωση του Integer για το injection δεν χρειαζόμαστε αυτό που λέμε single quote(')
Στην άλλη περίπτωση όμως του String τότε το single quote(') είναι απαραίτητο

#παράδειγμα: http://example.com/page.asp?id=1
             http://example.com/page.asp?id=x'


**SQL SCANNERS**

sqlmap
wpoison
wapiti
w3af
mieliekoek.pl

**SOS** Όλα τα sql scanners μπορούν να εντοπίσουν το πολύ 2 τύπους SQL injection
με αποτέλεσμα εάν ο τύπος SQL injection που υπάρχει στο site που ενδιαφέρεστε δεν μπορεί
να εντοπιστεί από τον scanner τότε δεν θα εντοπίσει κάποια ευπάθεια στην SQL.


Κάποιες πηγες και υλικό για Sql injection:
http://www.sql-tutorial.net
http://pentestmonkey.net/cheat-sheet/sql-injection/mssql-sql-injection-cheat-sheet

Δεν υπάρχουν σχόλια:

Δημοσίευση σχολίου