Archive

Archive for December, 2011

Astuce : trouver le caractère UTF8 associé à un code hexa

December 29th, 2011 3 comments

Dans mes péripéties mod_security, j’ai eu l’erreur suivante :


[Thu Dec 29 08:44:22 2011] [error] [client xx.21.3.31] ModSecurity: Warning. Pattern match "\\W{4,}" at ARGS:typeLibelle. [file "/usr/local/apache2/conf/crs/activated_rules/modsecurity_crs_41_sql_injection_attacks.conf"] [line "507"] [id "960024"] [rev "2.2.2"] [msg "SQL Character Anomaly Detection Alert - Repetative Non-Word Characters"] [data " \\xc3\\xa0 "] [hostname "dev.xxxx.fr"] [uri "/xxxx"] [unique_id "TvwaVgpArWEAAHu7CtMAAAAG"]

Et la question qui tue : à quoi correspond \\xc3\\xa0 ? Je me doutais que c’était un caractère UTF8, j’ai donc demandé à mon expert jeu de caractères (aka Laurent Blume) qui m’a donné l’astuce suivante :

  • Avant tout, avoir un système en UTF-8
  • Lancer vim (pas besoin d’ouvrir un fichier)
  • Taper un caractère accentué, par exemple é
  • Convertir en hexadécimal à l’aide de la commande “:%!xxd”, ce qui va donner quelque chose du genre “0000000: c3a9 0a”
  • Modifier le c3a9 en c3a0
  • Reconvertir en texte, à l’aide de la commande “:%!xxd -r”, et miracle on obtient le caractère “à” !
Categories: Sysadmin Tags: