web-dev-qa-db-fra.com

Intercepter le trafic SSL sur Android app

J'essaie d'intercepter le trafic SSL de mon Android application pour tester la sécurité. J'utilise le certificat pinning dans les espoirs que je peux empêcher les personnes de snooper. J'ai testé en configurant le proxydroid pour parcourir le trafic. Mon proxy, pour lequel j'ai utilisé à la fois Fiddler et Charles. Cependant, je reçois des résultats différents avec les deux logiciels de serveur proxy.

Avec Fiddler, je n'ai pas pu intercepter le trafic et mon application ne parvient pas à se connecter au serveur. J'ai même importé manuellement le certificat racine de violonement dans/System/etc/Security/Cacertts et vérifié qu'il apparaît dans le System TrustTore, mais mon application se comporte toujours comme elle devrait.

Avec Charles, cependant, je n'ai même pas besoin d'importer le certificat racine à mon Android Téléphone. Hors de la boîte, j'ai pu intercepter tout le trafic SSL entre mon application et mon serveur.

Donc, ma question est de savoir comment est-il possible pour Charles de l'accomplir, même si le violoneux n'est pas capable de?

5
blizz

Si Charles Proxy est capable d'intercepter le trafic SSL/TLS, la validation des certificats a échoué. Cela démontre que le périphérique mobile ne vérifie pas correctement le certificat du serveur.

Dans une évaluation de la sécurité mobile, le pincement du certificat peut être désactivé en accrochant la mise en œuvre SSL/TLS de la plate-forme et en modifiant le fonctionnement de la validation du certificat. Un exemple de cette attaque est le Bypass de SSL Android ou IOS SSL Killswitch .

5
rook

La plupart du temps, il est possible d'intercepter le trafic d'applications, même si vous avez mis en œuvre un certificat d'épinglage pour la demande, mais la demande doit être cryptée lorsque vous avez intercepté à l'aide de Charles Proxy. Mais il est possible d'intercepter le trafic à l'aide de SSLBYPASS, SSL Trust Killer, IOS SSL Kill Switch utilisant un proxy tel que Burp.

1
Snehal Raut

Le code d'épingle du certificat doit y avoir écrit pour votre application.

Si l'épinglage du certificat a été effectué correctement, aucun proxy ne peut intercepter le trafic, en supposant que vous n'agissez pas avec l'application.

Je vous suggérerais de vérifier de super exemples sur la mise en œuvre de la mise en œuvre de certificats ici .

1
Anto Joseph