Τις τελευταίες δύο ημέρες, έχει σαρωθεί από την "ευπάθεια απομακρυσμένης εκτέλεσης κώδικα Apache Log4j2" στον κύκλο των φίλων, κυρίως λόγω της ευπάθειας Java JNDI injection στο στοιχείο: όταν το πρόγραμμα γράφει τα δεδομένα που εισάγει ο χρήστης στο αρχείο καταγραφής, ο εισβολέας δημιουργεί ένα ειδικό αίτημα για να ενεργοποιήσει την ευπάθεια απομακρυσμένης εκτέλεσης κώδικα στο Apache Log4j2, εκμεταλλευόμενος έτσι αυτήν την ευπάθεια για την εκτέλεση αυθαίρετου κώδικα στον διακομιστή προορισμού.
Πεδίο επιρροής
Apache Log4j 2.x <= 2.14.1
Το JNDI (Java Naming and Directory Interface) είναι μια διεπαφή ονομασίας και καταλόγου Java που παρέχεται από την Java. Καλώντας το API του JNDI, οι εφαρμογές μπορούν να εντοπίσουν πόρους και άλλα αντικείμενα προγράμματος. Το JNDI είναι ένα σημαντικό μέρος της Java EE, πρέπει να σημειωθεί ότι δεν περιλαμβάνει μόνο το DataSource (πηγή δεδομένων JDBC), το JNDI μπορεί να έχει πρόσβαση σε υπάρχοντες καταλόγους και υπηρεσίες όπως: JDBC, LDAP, RMI, DNS, NIS, CORBA, απόσπασμα από την Εγκυκλοπαίδεια Baidu. Υπάρχουν πολλά άρθρα στο Διαδίκτυο σχετικά με τον τρόπο διόρθωσης τρωτών σημείων και στιγμιότυπων οθόνης τρωτών σημείων, αλλά λίγα για το πώς να δοκιμάσετε το έργο για την ευπάθεια.Η Java χρησιμοποιεί το Log4j2 για να δοκιμάσει τον κώδικα κυρίωςΩς εξής:
Με απλά λόγια, το Log4j2 θα έχει πρόσβαση στην ακόλουθη διεύθυνση μέσω του πρωτοκόλλου RMI ή LDAP και σύμφωνα με το περιεχόμενο του πρωτοκόλλου, μπορεί να εκτελέσει κακόβουλο κώδικα.
Η ύπαρξη της ευπάθειας αποδεικνύεται σχεδόν πάντα στο Διαδίκτυο ανοίγοντας μια αριθμομηχανή των Windows και ο κώδικας έχει ως εξής:
Δεδομένου ότι το Log4J2 χρησιμοποιεί πρωτόκολλα RMI ή LDAP για πρόσβαση στον διακομιστή του εισβολέα και τα πρωτόκολλα RMI και LDAP βασίζονται σε TCP, μπορούμε να το κάνουμε απευθείαςΧρησιμοποιώντας το .NET για ακρόαση σε μια θύρα TCP, εάν μια κλήση στο log4j2 για εκτύπωση αρχείων καταγραφής αποκτήσει πρόσβαση στη θύρα ακρόασης .NET, αποδεικνύει ότι μπορεί να υπάρχει ευπάθεια και, αν όχι, αποδεικνύεται ασφαλής。
Το .NET δημιουργεί πολύ μικρά δοκιμαστικά προγράμματα6 KB, ο κωδικός έχει ως εξής:
Δοκιμάστε να χρησιμοποιήσετε το στοιχείο log4j2.14.0Η έκδοση είναι τυπωμένη και η απόδοση έχει ως εξής:
Δοκιμάστε να αναβαθμίσετε το στοιχείο log4j σε2.15.0έκδοση, εκτελείται ξανά, το αποτέλεσμα έχει ως εξής:
Μετά την αναβάθμιση της έκδοσης, διαπιστώνεται ότι μετά την κλήση του αρχείου καταγραφής εκτύπωσης,Το πρόγραμμα Java δεν έχει πλέον πρόσβαση στην εξωτερική θύρα。
Ενδιαφερόμενοι φίλοι, μπορείτε να ανατρέξετε στον παρακάτω σύνδεσμο για να αναπαράγετε την ευπάθεια και να καλέσετε την αριθμομηχανή.
Η σύνδεση με υπερσύνδεσμο είναι ορατή.
Η σύνδεση με υπερσύνδεσμο είναι ορατή.
Τέλος, επισυνάψτε τη διαδικασία δοκιμής:
测试程序.rar
(2.66 KB, Αριθμός λήψεων: 1)
|