Knowledgebase: Hardening WP
wp-comments-post.php CSRF
Pubblicato da il 19 June 2012 02:11 PM

Lo script che inserisce i commenti nei post di WordPress non fa alcun controllo circa la sorgente da cui proviene la richiesta, quindi è possibile sfruttare questa mancanza per un attacco CSRF (Cross Site Request Forgery). Per correggere questa vulnerabilità è necessario apportare una piccola modifica allo script wp-comments-post.php presente nella doot directory dell'installazione di WordPress; in particolare, dopo essere entrati nel proprio spazio web via FTP o attraverso il pannello di controllo fornito dall'hosting (ad esempio cPanel), basta aprire con un editor di testo il file suddetto e, subito prima della riga che dice

/** Sets up the WordPress Environment. */

inserire quanto segue:

if ( ! isset( $_SERVER[ "HTTP_REFERER" ] ) )
   die();

$referrer_url = $_SERVER[ "HTTP_REFERER" ];
$server_name = str_replace( "." , "\." , $_SERVER[ "HTTP_HOST" ] );
$server_name = str_replace( '/' , '\/' , $server_name );
$referr_pattern = "/^((http(s)?):\/\/)?(www.)?$server_name/";		
if ( ! preg_match( $referr_pattern, $referrer_url ) )		
   die();

Salvate il file ed avete finito. Come sempre, prima di ogni modifica, assicuratevi di avere dei backup da poter ripristinare prontamente in caso di malfunzionamenti.

(0 voto/i)
Utile
Non è utile

Commenti (0)