Κενό ασφαλείας σε πολλά Wordpress Themes

Εισαγωγή

Το άρθρο αυτό αφορά κυρίως όσους χρησιμοποιούν για τις ιστοσελίδες τους το wordpress. Πριν λίγες ώρες δημουσιεύτηκε ένα σοβαρό πρόβλημα που αφορά αρκετά wordpress themes που χρησιμοποιούν το timthumb.php για να αλλάζουν διαστάσεις (resize) στις εικόνες των άρθρων. Περιληπτικά το πρόβλημα είναι ότι το timthumb.php επιτρέπει να ανεβάσει κάποιος αρχεία php μέσα στον φάκελο cache του timthumb που να περιέχουν κακόβουλο κώδικα (π.χ. php shell) το οποίο μπορεί να εκμεταλλευτεί κάποιος και να έχει πρόσβαση στα αρχεία της ιστοσελίδας σας. Περισσότερες πληροφορίες θα βρείτε στην ιστοσελίδα του Mark Maunder.

Λύση στο πρόβλημα

Αρχικά προτείνουμε να διαγράψετε ότι themes δεν χρησιμοποιείτε. Αυτό μπορεί να γίνει είτε με χρήση FTP είτε από το admin control panel του wordpress.

Στη συνέχεια θα πρέπει να συνδεθείτε με το Putty (ή άλλο SSH client) στο πακέτο hosting σας και να εκτελέσετε την εντολή:

View source
find . -name "timthumb.php"

Με αυτό το τρόπο θα δείτε εάν υπάρχουν αρχεία με όνομα timthumb.php σε κάποια ιστοσελίδα σας.

Μόλις τα εντοπίσετε θα πρέπει να τα κατεβάσετε με FTP και να τα ανοίξετε με κάποιο κειμενογράφο (π.χ. notepad).

Ψάξτε για το εάν υπάρχει στο αρχείο αυτό ο παρακάτω κώδικας:

View source
$allowedSites = array (
'flickr.com',
'picasa.com',
'blogger.com',
'wordpress.com',
'img.youtube.com',
);

Εάν υπάρχει τότε αντικαταστήστε τον με:

View source
$allowedSites = array ();

Εάν δεν υπάρχει τότε σημαίνει ότι έχετε παλιά έκδοση του timthumb.php που δεν έχει το συγκεκριμένο πρόβλημα.

Επίσης προτείνω να κάνετε έλεγχο εάν είναι ενεργό το ALLOW_EXTERNAL. Εάν βρείτε την παρακάτω γραμμή:

View source
define ('ALLOW_EXTERNAL', TRUE);

αλλάξτε την σε:

View source
define ('ALLOW_EXTERNAL', FALSE);

Μόλις τελειώσετε με τις αλλαγές ανεβάστε ξανά το αρχείο timthumb.php με FTP αντικαθιστώντας το παλιό αρχείο.

Επίλογος

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