Si un pirate informatique a modifié le blog_charset en UTF-7, est-ce que cela rend WordPress vulnérable à de nouvelles attaques?

19

J'ai eu un client qui a récemment été piraté et j'ai remarqué qu'il y avait des personnages étranges apparaissant sur son site, comme  et. Il s'avère que les pirates ont modifié le blog_charset en UTF-7 dans la table wp_options de la base de données. Je suis revenu sur UTF-8, mais je me demandais si pendant le temps, il était réglé sur UTF-7, cela pouvait-il créer des vulnérabilités en matière de sécurité?

J'ai effectué des recherches et découvert qu'il existait auparavant une vulnérabilité WordPress UTF-7 qui a été corrigée dans la version 2.0.6 . Nous utilisons la version la plus récente de WordPress, de sorte qu'ils n'auraient pas pu utiliser cet exploit, mais existe-t-il d'autres exploits liés à UTF-7? Vraiment, y a-t-il une raison pour que les pirates informatiques modifient le blog_charset autrement que pour être pénible? J'essaie de déterminer comment ils sont arrivés et je me demande si cela est lié d'une manière ou d'une autre.

    
posée Jennette 24.12.2012 - 03:28

2 réponses

23

< et > sont codés en tant que +ADw- et +AD4- dans UTF-7 . . Maintenant, imaginez ce qui suit:

  1. Quelqu'un envoie +ADw-script+AD4-alert(+ACI-Hello+ACI-)+ADw-/script+AD4- sous forme de texte de commentaire. Il passera toutes les installations sanitaires sans issue.

  2. La base de données attend et traite toutes les données entrantes en tant que UTF-8. Etant donné que tous les flux UTF-7 sont également valides, cela ne provoquera jamais d'erreur SQL, et mysql_real_escape ou htmlspecialchars ne le toucheront pas.

  3. WordPress envoie un en-tête text/html;charset=utf-7 .

  4. WordPress affiche le commentaire, attend les données échappées. Mais comme cela est traité comme UTF-7 par le navigateur, le JavaScript sera exécuté.

Donc, oui, c'est un problème de sécurité.

UTF-7 n'est pas pris en charge par tous les navigateurs. La plupart des textes seront rendus sous forme de Windows-1252 (ou quel que soit le codage par défaut de leur système d'exploitation) ou UTF-8. Le problème principal est que: s’échapper ne fonctionnera plus.

Changer la valeur d'encodage n'est pas une solution. Un visiteur régulier ne peut jamais en changer, de sorte que vous ayez à trouver la porte ouverte.

    
réponse donnée fuxia 24.12.2012 - 03:59
0

De plus, cela pourrait être nécessaire (reconvertir tous les encodages de vos tables): enlace

    
réponse donnée tfont 10.02.2017 - 16:28

Lire d'autres questions sur les étiquettes