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

Android Discussion :

Lire requête HTTP en décompilant un APK


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2016
    Messages : 4
    Par défaut Lire requête HTTP en décompilant un APK
    Bonjour à tous,

    Depuis peu, je viens de commencer le développement d'une application qui nécessite de communiquer avec une base de données MySQL externe.
    Une question m'est venu à l'esprit,
    Étant donné qu'il est possible de décompiler un APK pour en extraire en code source, est-il possible de lire une requête HTTP contenant l'adresse du site et les paramètres de la requête.
    Si oui, tout le monde serait capable de récupérer les infos et de modifier la base de données.

    Merci à vous.

  2. #2
    Membre Expert
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Par défaut
    Effectivement, l'obfuscateur (ProGuard) ne crypte pas les constantes de type String. Sachant cela, tu peux le gérer toi-même, en decryptant tes constantes à chaque utilisation.

    Plus généralement, je pense qu'il faut prendre le problème à l'envers : c'est à ton service Web de s'assurer qu'il est bien invoqué via l'application et pas en dehors. Un cas particulier d'authentification en quelque sorte.
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2016
    Messages : 4
    Par défaut
    Citation Envoyé par Hephaistos007 Voir le message
    Effectivement, l'obfuscateur (ProGuard) ne crypte pas les constantes de type String. Sachant cela, tu peux le gérer toi-même, en decryptant tes constantes à chaque utilisation.

    Plus généralement, je pense qu'il faut prendre le problème à l'envers : c'est à ton service Web de s'assurer qu'il est bien invoqué via l'application et pas en dehors. Un cas particulier d'authentification en quelque sorte.
    Merci beaucoup pour la réponse, j'ai l'impression d'être un peu parano, mais j'ai vraiment envie que seule l'application n'ait accès à la BDD et personne d'autre (et c'est bien normal).
    En solution, je ne vois qu'un système de cryptage maison.
    Comment font les applications connue communiquant à des BDD externes, quelles sécurités utilisent-elles ?
    Merci encore.

  4. #4
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    Tu peux bien mettre toutes les sécurité/cryptage que tu veux dans ton application , une simple écoute réseau suffira à connaitre les requêtes envoyées.
    Tu peux protéger le contenu de la requêtes avec du ssl mais la destination sera dans tous les cas connue.

    Une solution pour assurée que seule ton appli puisse récupérer des données est de générer un certificat client pour ton application. Ce certificat est transmis à chaque requête et seul les requêtes avec ce certificat seront acceptées par le serveur web.
    C'est la théorie , pour la pratique , j'ai jamais fait.

    D'un autre coté il y'a des chances qu'une décompilation puisse faire ressortir le certificats et donc , il suffirait d'embarquer ce certificats dans une autre app pour avoir accès au contenu.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2016
    Messages : 4
    Par défaut
    Si j'envoies ces données par HTTPS, la destination a beau être connue, les informations elles ne seront pas lisibles, je me suis renseigné et j'ai appris la sécurité par clé pour communiquer avec l'API, transmise par l'application, elle ne pourra pas être lue lors d'une lecture du réseau.
    Qu'en pensez-vous ?
    Merci.

  6. #6
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    Si c'est le contenu que tu cherches à protéger alors oui ca suffira. Mais ca n'empèchera pas quelqu'un d'essayer de faire des requêtes sur ton api
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Réponses: 1
    Dernier message: 25/01/2011, 14h13
  2. Quelle requête HTTP pour lire dans un ZIP?
    Par Colon dans le forum Débuter
    Réponses: 1
    Dernier message: 18/09/2008, 18h54
  3. Intercepter les requêtes HTTP et les modifier.
    Par Alexandre T dans le forum Général Conception Web
    Réponses: 3
    Dernier message: 21/09/2005, 19h25
  4. Requête HTTP
    Par hogan dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 15/07/2005, 18h44
  5. [HTTP]Créer une requête http multipart/related
    Par jothi35 dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 05/04/2005, 15h32

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