RCE with PostgreSQL Languages
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)
Η βάση δεδομένων PostgreSQL στην οποία έχετε πρόσβαση μπορεί να έχει διαφορετικές γλώσσες scripting εγκατεστημένες που θα μπορούσατε να εκμεταλλευτείτε για να εκτελέσετε αυθαίρετο κώδικα.
Μπορείτε να τις εκκινήσετε:
Οι περισσότερες από τις γλώσσες scripting που μπορείτε να εγκαταστήσετε στο PostgreSQL έχουν 2 γεύσεις: την έμπιστη και την μη έμπιστη. Η μη έμπιστη θα έχει ένα όνομα που τελειώνει σε "u" και θα είναι η έκδοση που θα σας επιτρέπει να εκτελείτε κώδικα και να χρησιμοποιείτε άλλες ενδιαφέρουσες λειτουργίες. Αυτές είναι γλώσσες που αν εγκατασταθούν είναι ενδιαφέρουσες:
plpythonu
plpython3u
plperlu
pljavaU
plrubyu
... (οποιαδήποτε άλλη γλώσσα προγραμματισμού που χρησιμοποιεί μια ανασφαλή έκδοση)
Αν διαπιστώσετε ότι μια ενδιαφέρουσα γλώσσα είναι εγκατεστημένη αλλά μη έμπιστη από το PostgreSQL (lanpltrusted
είναι false
) μπορείτε να προσπαθήσετε να την εμπιστευθείτε με την παρακάτω γραμμή ώστε να μην εφαρμοστούν περιορισμοί από το PostgreSQL:
Αν δεν βλέπετε μια γλώσσα, μπορείτε να προσπαθήσετε να την φορτώσετε με (πρέπει να είστε superadmin):
Σημειώστε ότι είναι δυνατόν να μεταγλωττιστούν οι ασφαλείς εκδόσεις ως "μη ασφαλείς". Δείτε αυτό για παράδειγμα. Έτσι, αξίζει πάντα να δοκιμάσετε αν μπορείτε να εκτελέσετε κώδικα, ακόμη και αν βρείτε εγκατεστημένη μόνο την έμπιστη έκδοση.
Ελέγξτε την παρακάτω σελίδα:
PL/pgSQL Password BruteforceΕλέγξτε την παρακάτω σελίδα:
RCE with PostgreSQL ExtensionsΜάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)