IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Apache Discussion :

Réécrire des urls contenant <script


Sujet :

Apache

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Directeur Technique Backoffice
    Inscrit en
    Janvier 2009
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur Technique Backoffice

    Informations forums :
    Inscription : Janvier 2009
    Messages : 43
    Par défaut Réécrire des urls contenant <script
    Bonjour,
    Je dois sécurisé un site dont j'ai repris la maintenance et je dois donc m'attaquer au problème de "cross-site scripting".
    Le site étant un peu vieux (codé en PHP4) et mal organisé mais n'ayant pas pour but de le refaire entièrement, je voulais regarder coté Apache pour gérer ce problème.

    En gros, je voudrais que lorsque je detecte la chaine "<script" dans une url (chaine qui serait passait en POST dans un champ de formulaire), celle-ci soit encodé pour ne pas être interprété sur le site.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    '>"><_script_>_alert(document.cookie)_</_script_>
    ==> SANS LES _ (je ne peux pas poster le message si je les enlève) :aie:
    Exemple, actuellement si dans un champ de formulaire je mets la chaine précédente, la page résultat me retourne dans un jolie pop-up les informations de cookie de la page.

    J'ai essayé par un .htaccess mais sans résultat:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    RewriteEngine On
    RewriteCond %{REQUEST_METHOD} (GET|POST) [NC]
    RewriteCond %{QUERY_STRING} ^(.*)(%3C|<)/?script(.*)$ [NC]
    RewriteRule (.*) - [F]

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    En POST, il n'y a aucun paramètre d'URL donc la query string est vide, donc la RewriteCond qui travaille sur %{QUERY_STRING} échoue.

    Il faut gérer ça côté code PHP, c'est le plus sûr.

  3. #3
    Membre averti
    Homme Profil pro
    Directeur Technique Backoffice
    Inscrit en
    Janvier 2009
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur Technique Backoffice

    Informations forums :
    Inscription : Janvier 2009
    Messages : 43
    Par défaut
    arf exact!!

    Comment comprendre (et utiliser) RewriteCond %{REQUEST_METHOD} (GET|POST) alors ?

  4. #4
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    Ca veut dire "si la méthode de la requête est GET ou POST". Ca n'empêche pas que les paramètres ne sont pas accessibles via %{QUERY_STRING} avec une requête POST, et il n'y a pas de moyen standard pour qu'Apache aille chercher le corps d'une requête POST. Donc la seule solution c'est de faire un échappement dans le code PHP.

  5. #5
    Membre averti
    Homme Profil pro
    Directeur Technique Backoffice
    Inscrit en
    Janvier 2009
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur Technique Backoffice

    Informations forums :
    Inscription : Janvier 2009
    Messages : 43
    Par défaut
    OK, merci pour la précision.

    Je vais passer sur toutes les pages à la main

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [SP-2007] PageViewerWebPart avec une URL contenant des paramètres GET.
    Par -BTA- dans le forum SharePoint
    Réponses: 0
    Dernier message: 17/07/2009, 08h57
  2. recuperer contenu sur des url contenant des variables.
    Par joboy84 dans le forum Langage
    Réponses: 11
    Dernier message: 08/07/2008, 08h02
  3. url contenant des variables
    Par torn33260 dans le forum Langage
    Réponses: 2
    Dernier message: 31/03/2008, 13h13
  4. param de l'url contenant des points (.)
    Par titoumimi dans le forum Ruby on Rails
    Réponses: 0
    Dernier message: 16/02/2008, 12h20
  5. Réécrire les urls des SSI par mod_rewrite?
    Par Jo___ dans le forum Apache
    Réponses: 1
    Dernier message: 28/11/2006, 14h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo