« Empêcher » la prise d’empreinte d’applications Web

octobre 4th, 2012 | Posted by Cervoise in Français

Dans les news d’hier on a pu voir passer l’information suivante : Sécurité WordPress : Détecter la version du CMS via un hash MD5 c’est possible ! ça rappel d’ailleurs un ancien article sur le blog sécurité d’OBS sur BlindElephant.

Un moyen envisageable de se protéger contre ce type d’outil consisterai à ajouter du sel dans les fichiers via une chaîne de caractères aléatoires en commentaire. Cela se script d’ailleurs assez bien, voici un exemple qui rajoute ce sel aux fichiers HTM/HTML, CSS et JS. Il suffit de rentrer l’adresse du répertoire racine de votre CMS sur votre disque et de lancer le script.

#!/usr/bin/python
# -*- coding: utf-8 -*-

"""
	Tested with Python 2.7.2 on Windwos XP/7 and Ubuntu 12.04
"""

import os
import string
import random

def listdirectory(path):
    file_list = []
    for root, dirs, files in os.walk(path):
        for i in files:
            file_list.append(os.path.join(root, i))

    return file_list

def get_a_random_string(size):
    random_string = ""
    for i in range(size):
        random_string += random.choice(string.letters)

    return random_string

cms_folder = "/CMS/ROOT/FOLDER/"

for ffile in listdirectory(cms_folder):
    print ffile
    if ffile[-5:] == ".html" or ffile[-4:] == ".htm":
        f = open(ffile, 'a+')
        f.write('\n<!--' + get_a_random_string(15) + '-->\n')
        f.close()
    elif ffile[-4:] == ".css" or ffile[-3:] == ".js":
        f = open(ffile, 'a+')
        f.write('\n/*' + get_a_random_string(15) + '*/\n')
        f.close()

Il s’agit plus d’un moyen de rendre cette prise d’empreinte plus difficile. En effet, l’ « attaquant » peut utiliser d’autres ressources comme les fichiers images ou encore télécharger les fichiers un à un et supprimer le sel.

La publication de cet article a été l’occasion de découvrir l’extension SyntaxHighlighter Evolved qui permet de publier des exemples de codes dans WordPress.

Update : Tests effectués sur Windows 7 et Ubuntu 12.04. 

You can follow any responses to this entry through the RSS 2.0 You can leave a response, or trackback.

Leave a Reply

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Time limit is exhausted. Please reload the CAPTCHA.