MySQL injection
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)
RootedCON είναι η πιο σχετική εκδήλωση κυβερνοασφάλειας στην Ισπανία και μία από τις πιο σημαντικές στην Ευρώπη. Με αποστολή την προώθηση της τεχνικής γνώσης, αυτό το συνέδριο είναι ένα καυτό σημείο συνάντησης για επαγγελματίες της τεχνολογίας και της κυβερνοασφάλειας σε κάθε τομέα.
from https://labs.detectify.com/2013/05/29/the-ultimate-sql-injection-payload/
Θυμηθείτε ότι στις "σύγχρονες" εκδόσεις του MySQL μπορείτε να αντικαταστήσετε το "information_schema.tables" με το "mysql.innodb_table_stats" (Αυτό θα μπορούσε να είναι χρήσιμο για να παρακάμψετε τα WAFs).
group_concat()
Limit X,1
substr(version(),X,1)='r'
ή substring(version(),X,1)=0x70
ή ascii(substr(version(),X,1))=112
mid(version(),X,1)='5'
LPAD(version(),1...length(version()),'1')='asd'...
RPAD(version(),1...length(version()),'1')='asd'...
SELECT RIGHT(version(),1...length(version()))='asd'...
SELECT LEFT(version(),1...length(version()))='asd'...
SELECT INSTR('foobarbar', 'fo...')=1
Χρησιμοποιώντας μια απλή ORDER
Μάθετε εδώ διάφορες επιλογές για κατάχρηση μιας Mysql injection για να αποκτήσετε ένα SSRF.
Όταν επιτρέπονται οι στοίβες ερωτημάτων, μπορεί να είναι δυνατό να παρακαμφθούν οι WAFs αναθέτοντας σε μια μεταβλητή την εξαγωγή hex του ερωτήματος που θέλετε να εκτελέσετε (χρησιμοποιώντας το SET), και στη συνέχεια να χρησιμοποιήσετε τις δηλώσεις PREPARE και EXECUTE MySQL για να εκτελέσετε τελικά το ερώτημα. Κάτι σαν αυτό:
Για περισσότερες πληροφορίες, παρακαλώ ανατρέξτε σε αυτήν την ανάρτηση στο blog.
Θυμηθείτε ότι σε "σύγχρονες" εκδόσεις του MySQL μπορείτε να αντικαταστήσετε το information_schema.tables με το mysql.innodb_table_stats ή με το sys.x$schema_flattened_keys ή με το sys.schema_table_statistics.
Επιλέξτε 2 στήλες χωρίς να χρησιμοποιήσετε κανένα κόμμα (https://security.stackexchange.com/questions/118332/how-make-sql-select-query-without-comma):
Αν σε κάποιο σημείο γνωρίζετε το όνομα του πίνακα αλλά δεν γνωρίζετε το όνομα των στηλών μέσα στον πίνακα, μπορείτε να προσπαθήσετε να βρείτε πόσες στήλες υπάρχουν εκτελώντας κάτι σαν:
Υποθέτοντας ότι υπάρχουν 2 στήλες (η πρώτη είναι το ID) και η άλλη η σημαία, μπορείτε να προσπαθήσετε να κάνετε brute force το περιεχόμενο της σημαίας προσπαθώντας χαρακτήρα προς χαρακτήρα:
Περισσότερες πληροφορίες στο https://medium.com/@terjanq/blind-sql-injection-without-an-in-1e14ba1d4952
Μπορείτε να δείτε άλλες εκτελέσεις μέσα στο MySQL διαβάζοντας τον πίνακα: sys.x$statement_analysis
RootedCON είναι η πιο σχετική εκδήλωση κυβερνοασφάλειας στην Ισπανία και μία από τις πιο σημαντικές στην Ευρώπη. Με αποστολή την προώθηση της τεχνικής γνώσης, αυτό το συνέδριο είναι ένα καυτό σημείο συνάντησης για επαγγελματίες της τεχνολογίας και της κυβερνοασφάλειας σε κάθε πειθαρχία.
Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)