Proteggere WordPress da richieste URL maligne

Post aggiornato il 30 dicembre @19:33

Leggo e rimbalzo ai lettori italiani il post di Jeff Starr su come proteggere WordPress da richieste URL pericolose come quelle che, vi ricorderete, a settembre scorso posero le installazioni non aggiornate di WordPress sotto attacco. Quegli indirizzi, spesso molto lunghi, contenevano parole come “eval” e “base64_decode”. Con quattro righe di codice, però possiamo impedire richieste di indirizzi che abbiano queste caratteristiche.

Copiate queste righe:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php 
/* 
Plugin Name: Block Bad Queries
Plugin URI: http://perishablepress.com/press/2009/12/22/protect-wordpress-against-malicious-url-requests/
Description: Protect WordPress Against Malicious URL Requests
Author URI: http://perishablepress.com/
Author: Perishable Press
Version: 1.0
*/
global $user_ID; if($user_ID) {
 if(!current_user_can('level_10')) {
  if (strlen($_SERVER['REQUEST_URI']) > 255 || 
   strpos($_SERVER['REQUEST_URI'], "eval(") || 
   strpos($_SERVER['REQUEST_URI'], "CONCAT") || 
   strpos($_SERVER['REQUEST_URI'], "UNION+SELECT") || 
   strpos($_SERVER['REQUEST_URI'], "base64")) {
    @header("HTTP/1.1 414 Request-URI Too Long");
    @header("Status: 414 Request-URI Too Long");
    @header("Connection: Close");
    @exit;
  }
 }
} ?>

incollatele in un file con nome block-bad-queries.php, uploadatelo nella directory wp-content/plugins e attivate il plugin. Da questo momento le richieste di indirizzi che

  • siano più lunghe di 255 caratteri
  • o che contengano la parola eval(
  • o che contengano la parola base64
  • o che facciano altre operazioni non consentite come concat e union+select

non verranno soddisfatte. Ho aggiunto anche una condizione iniziale per permettere all’amministratore del sistema di essere escluso da quelle regole: può succedere, infatti, che una operazione amministrativa come la modifica di massa di più post generi URL lunghe, rendendo impossibile la modifica.

Questo, comunque, non vi esonera dall’impegno di aggiornare la vostra copia di WordPress. :mrgreen:

10 commenti a “Proteggere WordPress da richieste URL maligne”

  1. Alessia scrive:

    Ciao, arrivo dal blog di Ghido ed è interessantissimo questo post, grazie :) però ho un problema, ho inserito il plugin nell’apposita cartella ma non me lo visualizza nell’elenco e quindi non riesco ad attivarlo, come mai?

  2. Paolettopn scrive:

    Ben fatto e funzionante!!

    Come sempre, del resto!

    Belle cose, a presto.

    Paolo

1 citazione a “Proteggere WordPress da richieste URL maligne”

  1. Il meglio della settimana #44 | BigThink

Lascia un commento

Sorriso Occhiolino Compiaciuto Soddisfatto Risata Figo Bacio Linguaccia Innocente Neutrale Indeciso Mr. Green! Imbarazzato Triste Preoccupato Shock Piange Arrabbiato Cattivo Scimmia Idea! Domanda Importante Freccia

Se hai una richiesta di supporto tecnico, serviti del forum.

Iscriviti senza lasciare un commento