stop intrusion url

4 commandes htaccess pour lutter contre les intrusions via l’URL

Pour interagir avec un site web (et donc son serveur web), il existe plusieurs façons telles que les formulaires et les variables transmises via les URL. Or, cette interaction n’est pas toujours sans risque.

Ceci oblige les développeurs web et les webmasters de mettre en place des moyens afin de minimiser les intrusions (Ex : Cross-Site Scripting ou XSS) à leurs sites.

En plus des méthodes de sécurité au niveau du langage web coté serveur utilisé, qui sont basés essentiellement sur le contrôle et la vérification du format des valeurs transmises, il est possible d’automatiser cette tâche en utilisant des directives dans le fichier .htaccess.
Bloquer n’importe quel script essayant d’utiliser base64_encode et d’envoyer la chaîne encodée via l’URL
Il est a rappeler que base64_encode est utilisé dans certains cas  (comme pour les corps de mail) afin de permettre aux informations binaires d’être manipulées par les systèmes qui ne gèrent pas correctement les 8 bits.



Solution :

RewriteCond %{QUERY_STRING} base64_encode.*(.*) [OR]

Bloquer n’importe quel script essayant d’inclure un script JS via l’URL
L’inclusion d’un script JS à travers une variable transmise via une url est très dangereux puisque ce script peut contenir des commandes pouvant nuire au bon fonctionnement du site telle que la redirection vers un autre site (Ex: document.location.href= »http://www.autresite.com »)

Solution :

RewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%3E) [NC,OR]

Bloquer n’importe quel script essayant de modifier des variables super-globales via l’URL
Solution :

RewriteCond %{QUERY_STRING} GLOBALS(=|[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|[|\%[0-9A-Z]{0,2})