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

Sécurité Discussion :

Injection SQL à travers User-Agent


Sujet :

Sécurité

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2019
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2019
    Messages : 1
    Par défaut Injection SQL à travers User-Agent
    Bonjour à tous,

    Aillant un site web à réaliser bientôt, et ayant un ami qui vient de créer le sien, je me suis dit que l'occasion de m'essayer à la sécurité et à l'ethical hacking était trop belle pour passer à coté. Après une journée d'attaques plus ou moins réussis (En commençant par rajouter ";--" sur le pseudo et ainsi de suite jusqu'à réussir à récupérer tous les identifiants de sa base de données) plusieurs "patchs" ont étés déployés par mon ami, de sorte que plus aucun form ne soit exploitable pour réaliser une injection sql.

    Je me suis alors tourné vers l'utilitaire sqlmap qui m'a révélé que le header User-Agent était exploitable. J'ai alors tenté plusieurs code sql dedans, mais rien n'a l'air de fonctionner. Au bout de plusieurs essais, je me suis rendu compte de quelque chose d'étrange :
    - Si j'ajoute au User-Agent 'AND '1=2 la page charge
    - Si j'ajoute 'AND '1=1 la page me donne une erreur 406
    - Si j'ajoute 'AND '1=1' AND '1=2 le page fait une erreur 406

    J'ai donc essayé de supprimer entièrement le contenu de User-Agent et la page charge quand même.
    La question que je me pose est donc la suivante :
    Est-ce que le User-Agent est traité? Est-il réellement une faille de sécurité?
    Pourquoi est-ce qu'il ne lève pas d'erreurs quand laissé vide, et pourquoi lève-t-il une erreur si une condition true est passée avec?

    Je modifie les paramètres du header avec Postman, et si cela peut aider je suis sur Ubuntu 19.

    Merci pour vos réponses, n'hésitez pas à me dire s'il manque des informations, c'est mon premier post sur le forum, il est possible que j'ai oublié quelque chose.

  2. #2
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 699
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 699
    Par défaut
    Citation Envoyé par Bab the Wise Voir le message
    Est-ce que le User-Agent est traité?
    c'est à voir du côté du site. si l'information n'est pas utilisée, il n'y a pas de risque de sécurité.
    vous pouvez voir par exemple s'il y a un système de statistiques qui stocke cette information pour savoir quel navigateur est utilisé.

    ensuite pour l'erreur 406 d'Apache, je ne sais pas d'où elle vient.

  3. #3
    Membre Expert
    Avatar de cavo789
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2004
    Messages
    1 797
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 797
    Par défaut
    Bonsoir

    Citation Envoyé par mathieu Voir le message
    c'est à voir du côté du site. si l'information n'est pas utilisée, il n'y a pas de risque de sécurité
    Exactement ! Si l'information n'est pas traitée et donc ignorée; le UA passera totalement inaperçu.

    Il y a quelques années, une faille de ce type a été détectée pour Joomla; lire https://blog.sucuri.net/2015/12/joom...e-details.html. La faille provenait du fait que Joomla faisait une désérialisation de la chaîne de caractères UA et cela en utilisant une fonction native de PHP qui n'était pas sécurisée.

    La question est donc, exactement celle-là : est-ce que cette information est utilisée ou pas et si oui, une faille est possible si le traitement ne fait pas de sanitisation de la donnée càd si elle se fait à l'aveugle aux données.

    Bonne soirée.

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    1 616
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 616
    Par défaut
    l'erreur http 406 : https://developer.mozilla.org/fr/doc...TTP/Status/406

    si sqlmap te trouve une injection sur le user-agent, il est probable qu'elle existe. Tu devrais augmenter peut-être le niveau de verbosité ou vérifier les logs.

    Pour info toutes les chaines testées pour injection se trouvent ici : https://github.com/sqlmapproject/sql...a/xml/payloads

    Il suffit que ton user-agent soit utilisé d'une façon ou d'une autre pour une requête et que celle-si soit mal assainie pour que cela génère une alerte

Discussions similaires

  1. Injection SQL, mysql_real_escape et user Nobody
    Par Archeus dans le forum SQL Procédural
    Réponses: 6
    Dernier message: 09/10/2006, 21h15
  2. Réponses: 20
    Dernier message: 03/02/2006, 10h55
  3. [Configuration] User-Agent et fopen
    Par marcha dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 11/11/2005, 22h19
  4. Réponses: 10
    Dernier message: 25/10/2005, 16h09
  5. [HTTP]Modifier le User-Agent
    Par Adjanakis dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 24/09/2004, 10h15

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