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

ASP.NET Discussion :

Une valeur Request.Form potentiellement dangereuse


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif Avatar de Pynouz
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 274
    Par défaut Une valeur Request.Form potentiellement dangereuse
    Bonjour,

    J'ai un DropDownList tel quel :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <asp:DropDownList ID="DropDownList1" runat="server" 
                    onselectedindexchanged="DropDownList1_SelectedIndexChanged" AutoPostBack="True">
                    <asp:ListItem>10</asp:ListItem>
                    <asp:ListItem>20</asp:ListItem>
                    <asp:ListItem>30</asp:ListItem>
                    <asp:ListItem>Tous</asp:ListItem>
                </asp:DropDownList>
    Celle-ci me sert à afficher plus ou moins de résultat dans mon GridView (les 10, 20, 30 premiers ou tous les résultats).

    Lorsque l'utilisateur choisit une valeur dans cette DDL la requête SQL de mon SqlDataSource est changé.

    Ce qui ne plaît pas du tous à ma page puisqu'elle me renvoie une erreur :

    Une valeur Request.Form potentiellement dangereuse a été détectée à partir du client
    Pour palier à cette erreur, il me suffit de mettre la propriété ValidateRequest à 'True' et tous fonctionne pour le mieux.

    Par contre, cette solution ne me parait pas satisfaisante car elle m'expose aux injections Sql.

    Es-ce que je me fourvoie complètement? Sinon, y a t'il une solution afin de faire cette action en laissant ValidateRequest à 'False'?

  2. #2
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Salut,

    Lever cette sécurité ouvre une petite brêche, ceci dit il n'y a pas de meilleur protection que la sécurisation de la base de données:
    • avoir les droits nécessaires et rien de plus;
    • verifier les paramètres d'entrée;
    • utiliser des procédures stockées ou du linq ou entity framework.
    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Euh, t'es sûr que ça a un rapport avec le DropDownList ?
    Normalement c'est plutôt sur des champs texte que ça fait ça, par exemple si l'utilisateur poste du HTML.
    Et ça ne t'expose pas à une attaque par injection SQL, mais plutôt à une attaque XSS...

  4. #4
    Membre très actif Avatar de Pynouz
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 274
    Par défaut
    Merci pour vos réponses,

    En faite non ça n'a pas un rapport directe avec le DDL mais celui-ci renvoie une nouvelle requête Sql à mon SqlDataSource lorsque l'utilisateur change sa valeur. Je suppose donc que la page prend cela pour une attaque malveillante.

    Sinon, pour qu'il y ait attaque XSS il faut que l'utilisateur puisse rentrer des données à un moment (par exemple par une TextBox) si j'ai bien compris?

    Je vais faire des recherches concernant les indications de sécurité que tu m'as fournit Immobilis.

  5. #5
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    "Winter is coming" (ma nouvelle page d'accueil)

  6. #6
    Membre très actif Avatar de Pynouz
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 274
    Par défaut
    Merci je vais regarder cela

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 05/09/2010, 10h29
  2. Réponses: 2
    Dernier message: 21/05/2008, 11h11
  3. Vérification valeur Request.form
    Par delavega dans le forum ASP
    Réponses: 1
    Dernier message: 19/10/2007, 11h15
  4. [VB.NET] Passer une valeur de control entre deux form
    Par TheMacleod dans le forum Windows Forms
    Réponses: 5
    Dernier message: 27/12/2005, 11h07
  5. un champ prend une valeur choisie à l ouverture du form
    Par martonpylon12 dans le forum IHM
    Réponses: 16
    Dernier message: 17/12/2004, 18h23

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