disable_functions bypass - dl function
Σημαντική σημείωση:
Το dl
είναι μια συνάρτηση PHP που μπορεί να χρησιμοποιηθεί για να φορτώσει επεκτάσεις PHP. Εάν η συνάρτηση δεν είναι απενεργοποιημένη, μπορεί να καταχραστεί για να παρακάμψει τις disable_functions
και να εκτελέσει αυθαίρετες εντολές.
Ωστόσο, έχει ορισμένους αυστηρούς περιορισμούς:
Η συνάρτηση
dl
πρέπει να είναι παρούσα στο περιβάλλον και να μην είναι απενεργοποιημένηΗ επέκταση PHP πρέπει να έχει μεταγλωττιστεί με την ίδια κύρια έκδοση (έκδοση PHP API) που χρησιμοποιεί ο διακομιστής (μπορείτε να δείτε αυτές τις πληροφορίες στην έξοδο του phpinfo)
Η επέκταση PHP πρέπει να βρίσκεται στον κατάλογο που ορίζεται από την οδηγία
extension_dir
(μπορείτε να το δείτε στην έξοδο του phpinfo). Είναι πολύ απίθανο ένας επιτιθέμενος που προσπαθεί να καταχραστεί τον διακομιστή να έχει πρόσβαση εγγραφής σε αυτόν τον κατάλογο, οπότε αυτή η απαίτηση πιθανότατα θα σας εμποδίσει να καταχραστείτε αυτήν την τεχνική).
Εάν πληρούνται αυτές οι απαιτήσεις, συνεχίστε την ανάγνωση της ανάρτησης https://antichat.com/threads/70763/ για να μάθετε πώς να παρακάμψετε τις disable_functions
. Εδώ υπάρχει ένα περίληψη:
Η συνάρτηση dl χρησιμοποιείται για να φορτώσει επεκτάσεις PHP δυναμικά κατά την εκτέλεση του σεναρίου. Οι επεκτάσεις PHP, που συνήθως γράφονται σε C/C++, βελτιώνουν τη λειτουργικότητα του PHP. Ο επιτιθέμενος, αφού παρατηρήσει ότι η συνάρτηση dl
δεν είναι απενεργοποιημένη, αποφασίζει να δημιουργήσει μια προσαρμοσμένη επέκταση PHP για να εκτελέσει συστημικές εντολές.
Βήματα που ακολουθεί ο επιτιθέμενος:
Αναγνώριση έκδοσης PHP:
Ο επιτιθέμενος προσδιορίζει την έκδοση PHP χρησιμοποιώντας ένα σενάριο (
<?php echo 'Η έκδοση PHP είναι '.PHP_VERSION; ?>
).
Απόκτηση πηγαίου κώδικα PHP:
Κατεβάζει τον πηγαίο κώδικα PHP από την επίσημη ιστοσελίδα PHP ή από το αρχείο εάν η έκδοση είναι παλαιότερη.
Τοπική εγκατάσταση PHP:
Αποσυμπιέζει και εγκαθιστά τη
Last updated