Le blog d'Arcade Village

WordPress piraté pour la dernière fois, j'y ai cru !

29/07/2019 PHP
Je pensais être enfin débarrassé des hackers, mais j'avais oublié une de leurs techniques : ajouter du code directement dans la base de données.
Dans l'article précédent, j'expliquais comment Wordpress range ses articles dans la base de données.

Les hackers modifient le code de Wodpress mais aussi la table wp_posts en ajoutant à la fin de chacun des textes de vos articles un ligne de code javascript.

J'ai donc modifié ma classe CCWPAccess pour qu'elle ne charge pas ce code javascript. Je rappelle que cette classe ne protège pas Wordpress des hackers, c'est impossible, mais permet d'afficher les articles sans passer par Wordpress. Wordpress n'est plus utilisé que comme traitement de textes.

J'ai modifié uniquement la fonction loadPost.

function loadPost($bdd, $id)
{
$s = "select post_type, post_title,post_date,post_content from wp_posts where ID = ".$id;
$q=mysqli_query ($bdd,$s);
if ( $r=mysqli_fetch_array($q) )
{
if ( $r["post_type"] == "post" )
{
$this->id = $id;
$this->title = $r["post_title"];
$this->pdate = $r["post_date"];
$this->content = $r["post_content"];
$icmt = strpos($this->content,"<cript");
if ( $icmt !== false )
$this->content = substr($this->content,0,$icmt);

}
}


Cette fonction peut encore être améliorée car elle part du principe qu'il n'y a qu'une séquence javascript ajoutée. Je suppose qu'il y en aura plusieurs dans le futur.
ArcadeVillage.com 1999 - 2024