G

Intercepter les données d'une API mobile avec un proxy man-in-the-middle

Résumé de l'article :
Scraping

L'article explique comment utiliser un proxy "man-in-the-middle" pour extraire des données des API de mobile. Face aux limites du web scraping traditionnel sur les sites, de plus en plus de développeurs se tournent vers le scraping des API des applications mobiles. Ces API se révèlent être une source riche et moins protégée de données, étant souvent plus simples à intercepter. L'article détaille les étapes pour configurer un serveur proxy HTTP sur ordinateur, connecter ce dernier à un téléphone mobile, installer un certificat SSL/TLS auto-signé et enfin, capturer les requêtes API non chiffrées pour y accéder. Les instructions sont illustrées avec des exemples concrets sur un iPhone et un MacBook, mais des adaptations sont possibles pour d'autres systèmes d'exploitation. Si vous souhaitez découvrir comment extraire efficacement des données d'applications mobiles, cet article est une ressource précieuse.

Tout LIRE 👇

Utiliser un proxy man-in-the-middle pour extraire des données d'une API mobile

Les données sont le moteur de notre monde actuel — elles sont essentielles pour prendre des décisions commerciales, créer du contenu marketing ou concevoir de nouveaux produits. L'une des méthodes les plus populaires pour collecter des données automatiquement est l'extraction depuis des sites web, appelée web scraping. Ce processus inclut des techniques comme le crawling, l'analyse HTML, l'interception de requêtes XHR, ou l'exécution de JavaScript. Cependant, ces méthodes deviennent moins efficaces à mesure que les sites web se complexifient et mettent en place diverses protections anti-scraping telles que les CAPTCHA.

Heureusement, avec la montée des applications mobiles qui remplacent ou complètent les sites traditionnels, une nouvelle méthode efficace de collecte de données s'est développée : la récupération directe via les API des applications mobiles, connue sous le nom de scraping des API mobiles. Grâce à cette technique, on peut obtenir une liste de participants d'une application de rencontres, automatiser une commande de livraison alimentaire ou extraire les prix de chambres d'hôtel depuis une application de réservation.

Les API mobiles sont généralement concises et efficaces, et emploient souvent moins de protections anti-scraping que les sites web. Beaucoup d'applications mobiles ne nécessitent pas de connexion pour afficher les données et utilisent seulement la limitation de débit IP pour bloquer l'accès automatisé, ce qui peut facilement être contourné avec des proxies. En d'autres termes, les API mobiles offrent une méthode de scraping très performante.

Voyons maintenant comment débuter avec le scraping des API mobiles. Toutes les étapes seront démontrées sur un iPhone Apple fonctionnant sous iOS 12.3 et un MacBook Pro sous macOS 10.14.1. Si vous utilisez Windows ou Android, ou une version différente de ces systèmes d'exploitation, quelques ajustements seront peut-être nécessaires, mais les principes restent les mêmes.

1) Configurer un serveur proxy HTTP sur un ordinateur

Pour intercepter les requêtes provenant de l'application sur le téléphone vers une API backend externe, nous devons configurer un proxy HTTP sur un ordinateur auquel le téléphone se connectera. La plupart des applications mobiles utilisent le chiffrement HTTPS pour communiquer avec leurs API backend, donc nous devrons effectuer une attaque de type man-in-the-middle sur notre propre téléphone pour pouvoir intercepter le trafic. Pas de panique, c'est parfaitement sûr 😎. De nombreux outils peuvent accomplir cette tâche, mais ici nous utiliserons mitmproxy. Il peut être facilement installé via Homebrew en exécutant la commande suivante dans le terminal macOS :

Vous pouvez vérifier si mitmproxy a été correctement installé en exécutant :

Si tout se passe bien, vous devriez voir une fenêtre comme celle-ci. Ne vous inquiétez pas si vous ne voyez encore aucune requête.

2) Connecter votre téléphone au proxy HTTP

Il est maintenant temps de configurer le téléphone. Tout d'abord, assurez-vous que votre téléphone est connecté au même réseau Wi-Fi que votre ordinateur pour qu'ils puissent se voir. Ensuite, sur votre appareil iOS, allez dans Réglages → Wi-Fi et cliquez sur le réseau Wi-Fi actuel :

Puis cliquez sur Configurer le Proxy tout en bas :

Sélectionnez l'option Manuel pour pouvoir saisir les propriétés Serveur et Port :

La propriété Serveur est l'adresse IP interne de votre ordinateur, où le proxy HTTP fonctionne. Vous pouvez l'obtenir en exécutant la commande suivante dans votre terminal macOS :

Cherchez l'adaptateur réseau en0, qui se voit généralement attribuer une adresse IP interne dans la plage 192.168.x.x.

La propriété Port indique le numéro de port TCP où mitmproxy fonctionne, par défaut c'est 8080.

Une fois que vous avez saisi les paramètres Serveur et Port, vous devriez commencer à voir des requêtes passer par le proxy dans l'application mitmproxy sur votre ordinateur. Si vous ne voyez aucune requête, assurez-vous que votre téléphone peut accéder à votre ordinateur, par exemple qu'aucun pare-feu ne bloque l'accès.

Bien que vous puissiez voir les requêtes passer par le proxy, elles utilisent probablement le protocole HTTPS avec le chiffrement SSL/TLS, donc vous ne pourrez pas voir le contenu des requêtes. Nous réglerons ce problème à l'étape suivante.

3) Installer un certificat SSL/TLS auto-signé sur le téléphone

Maintenant, sur votre téléphone, ouvrez http://mitm.it/ dans un navigateur. Vous devriez voir une liste de systèmes d'exploitation. Cliquez sur Apple :

Le certificat devrait se télécharger sur votre téléphone.

Pour installer le certificat, allez dans les Réglages de l'iPhone et en dessous de votre nom de compte, une rangée avec le texte Profil téléchargé devrait apparaître :

Cliquez dessus et suivez le processus d'installation. Vous trouverez plus de détails sur l'installation du profil téléchargé ici.

Dans l'étape suivante, vous devrez l'activer. Sur votre appareil iOS, allez dans Réglages → Général → À propos → Réglages des certificats de confiance :

ATTENTION : Une fois cette étape complétée, tout le trafic de votre téléphone pourra être intercepté et surveillé depuis l'ordinateur exécutant mitmproxy, y compris les identifiants de connexion de toutes vos applications. Ne faites cela que si vous faites confiance à l'ordinateur, et fermez toutes les applications mobiles que vous ne souhaitez pas voir surveillées. Une fois terminé, assurez-vous de désactiver à nouveau le certificat. Ne partagez jamais les journaux de mitmproxy avec des parties non fiables !

Maintenant, il vous suffit d'activer le certificat mitmproxy :

4) Scraping de l'API mobile

Il est temps de passer à la partie excitante ! Installez et ouvrez d'abord l'application Swiggy sur votre téléphone. Lorsque vous ouvrez l'application, vous devriez voir des requêtes HTTP non chiffrées passer par l'outil mitmproxy :

Dès cet écran initial, vous pouvez déjà avoir une bonne idée des points de terminaison API utilisés par l'application mobile. Vous pouvez probablement voir quelques points de terminaison REST. Sélectionnez-en un et consultez ses détails. Vous pouvez maintenant voir tous les détails nécessaires pour reproduire cette requête.

C'est maintenant qu'un peu de tâtonnement commence, où vous allez rétro-ingénier l'API mobile. Vous devez comprendre à quoi servent les différents points de terminaison de l'API, quels paramètres de requête et en-têtes HTTP sont nécessaires et lesquels peuvent être omis. Dans ce cas, il vous suffit de passer le bon en-tête du user-agent.

Et voilà, vous pouvez maintenant obtenir tous les restaurants pour un lieu spécifique !

Si vous êtes bloqué, que quelque chose n'est pas clair ou que vous rencontrez un autre problème, faites-le nous savoir afin que nous puissions améliorer ce tutoriel. Tout retour serait grandement apprécié !

Vous pouvez nous joindre à https://twitter.com/apify.

D'autres articles qui devraient vous plaire

Scraping

Intercepter les données d'une API mobile avec un proxy man-in-the-middle

L'article explique comment utiliser un proxy "man-in-the-middle" pour extraire des données des API de mobile. Face aux limites du web scraping traditionnel sur les sites, de plus en plus de développeurs se tournent vers le scraping des API des applications mobiles. Ces API se révèlent être une source riche et moins protégée de données, étant souvent plus simples à intercepter. L'article détaille les étapes pour configurer un serveur proxy HTTP sur ordinateur, connecter ce dernier à un téléphone mobile, installer un certificat SSL/TLS auto-signé et enfin, capturer les requêtes API non chiffrées pour y accéder. Les instructions sont illustrées avec des exemples concrets sur un iPhone et un MacBook, mais des adaptations sont possibles pour d'autres systèmes d'exploitation. Si vous souhaitez découvrir comment extraire efficacement des données d'applications mobiles, cet article est une ressource précieuse.
👉 Lire l'article
Scraping

Comment chercher des comptes LinkedIn en utilisant une adresse email

**Résumé de l'article :** Chercher des comptes LinkedIn à partir d'une adresse e-mail est un outil précieux pour les praticiens OSINT. Alors que de nombreuses méthodes, comme la manipulation d'URL et les extensions de navigateur, ont été utilisées, l'une des méthodes les plus populaires reposait sur le Sales Navigator de Gmail. Cependant, depuis mars 2020, cette fonctionnalité n'est plus disponible. Heureusement, une autre solution existe via Outlook, grâce à l'intégration du Sales Navigator depuis 2017. Ce guide vous explique étape par étape comment créer un compte Microsoft, utiliser Outlook pour ajouter un contact avec l'adresse e-mail cible, et lier ce contact à LinkedIn pour voir immédiatement s'il existe un profil associé. Ce procédé simplifié permet d'accéder facilement aux profils LinkedIn liés à une adresse e-mail spécifique, et de continuer vos investigations avec efficacité. Pour les amateurs d'OSINT, cette méthode est essentielle à connaître. Pour en savoir plus sur ces techniques et d'autres outils OSINT, n'hésitez pas à consulter nos cours en ligne.
👉 Lire l'article

plus de 73% de nos clients nous ont choisi par recommandation.

Nous avons accompagné
+300 entreprises.
En moyenne, 1 client nous
recommande à 2  entreprises.

Nos Growth News

3  articles & 1 outil
growth MARKETING
chaque semaine.

Le must have pour ceux qui souhaitent rester à
la page et des growth surprises en plus !

Merci,
vous allez recevoir un e-mail de confirmation.
Oops! Something went wrong while submitting the form.