Second Order Injection - SQLMap
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Το SQLMap μπορεί να εκμεταλλευτεί τις Δεύτερης Τάξης SQLi. Πρέπει να παρέχετε:
Το αίτημα όπου θα αποθηκευτεί το payload SQL injection
Το αίτημα όπου το payload θα εκτελεστεί
Το αίτημα όπου αποθηκεύεται το payload SQL injection είναι ενδεικτικό όπως σε οποιαδήποτε άλλη ένεση στο sqlmap. Το αίτημα όπου το sqlmap μπορεί να διαβάσει την έξοδο/εκτέλεση της ένεσης μπορεί να υποδειχθεί με --second-url
ή με --second-req
αν χρειάζεται να υποδείξετε ένα πλήρες αίτημα από ένα αρχείο.
Απλό παράδειγμα δεύτερης τάξης:
Σε πολλές περιπτώσεις αυτό δεν θα είναι αρκετό γιατί θα χρειαστεί να εκτελέσετε άλλες ενέργειες εκτός από την αποστολή του payload και την πρόσβαση σε μια διαφορετική σελίδα.
Όταν αυτό είναι απαραίτητο, μπορείτε να χρησιμοποιήσετε ένα sqlmap tamper. Για παράδειγμα, το παρακάτω σενάριο θα καταχωρήσει έναν νέο χρήστη χρησιμοποιώντας το sqlmap payload ως email και θα αποσυνδεθεί.
Ένα SQLMap tamper εκτελείται πάντα πριν ξεκινήσει μια προσπάθεια έγχυσης με ένα payload και πρέπει να επιστρέφει ένα payload. Σε αυτή την περίπτωση δεν μας ενδιαφέρει το payload αλλά μας ενδιαφέρει να στείλουμε κάποιες αιτήσεις, οπότε το payload δεν αλλάζει.
Έτσι, αν για κάποιο λόγο χρειαστούμε μια πιο σύνθετη ροή για να εκμεταλλευτούμε την δεύτερη τάξη SQL injection όπως:
Δημιουργία λογαριασμού με το SQLi payload μέσα στο πεδίο "email"
Αποσύνδεση
Σύνδεση με αυτόν τον λογαριασμό (login.txt)
Αποστολή αιτήματος για εκτέλεση της SQL injection (second.txt)
Αυτή η γραμμή sqlmap θα βοηθήσει:
Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)