Resistere alle SQL Injections Ogni SQLI si basa sul fatto che un’installazione standard di WP ha determinati nomi di tabelle, per cambiare le carte in tavola possiamo agire sul prefisso dei nomi di tabella. Standard wordpress si porta dietro il prefisso “wp_” lo possiamo cambiare con un qualsiasi altro prefisso, tipo il nome del sito, in questo caso sarebbe “3t3chs_”. Nel caso in cui il vostro WordPress sia già installato basta seguire questa semplice guida: https://www.etechs.it/come-rinominare-i-nomi-delle-tabelle-in-mysql/ Una volta modificate tutte le tabelle nel nostro wp-config.php dobbiamo cambiare il parametro $table_prefix:
// You can have multiple installations in one database if you give each a unique prefix $table_prefix = 'r235_'; // Only numbers, letters, and underscores please!
Spostiamo le directory principali
wp-content
Tra le tante cose standard di WP ci sono le directory che utilizza, la prima da cambiare è wp-content. Nel wp-config.php esiste un parametro che ci permette di definire una directory personalizzata dove piazzare tutti i nostri contenuti passando da /blog/wp-content a /blog/3t3echs-content-new:define( 'WP_CONTENT_DIR', $_SERVER['DOCUMENT_ROOT'] . '/blog/3t3chs-content-new' );A questo punto dobbiamo dire al motore di WP qual è l’url di per il wp-content:
define( 'WP_CONTENT_URL', 'https://www.etechs.it/blog/3t3chs-content-new' );
plugins
Si sa che molte vulnerabilità di wordpress non sono proprio del CMS ma sono piuttosto di plugin installati e che magari non vengono aggiornati, cerchiamo quindi di rendere la vita difficile ai nostri attackers spostando la cartella plugins da /blog/wp-content/plugins a /blog/plugdefine( 'WP_PLUGIN_DIR', $_SERVER['DOCUMENT_ROOT'] . '/blog/plug' ); define( 'WP_PLUGIN_URL', 'http://example/blog/plug');Alcuni plugin per problemi di compatibilità utilizzano anche la variabile PLUGINDIR, ergo definiamo anche quella:
define( 'PLUGINDIR', $_SERVER['DOCUMENT_ROOT'] . '/blog/plug' );
uploads
Se esiste una cartella più pericolosa delle altre questa è proprio /wp-content/uploads, il CMS infatti la usa per caricarci i nostri contenuti multimediali ed un attacker la usa per caricarci le proprie console, spsostiamola:define( 'UPLOADS', '/blog/folder/uploads' );