Quotidien Shaarli

Tous les liens d'un jour sur une page.

September 1, 2025

Intercepter le trafic réseau d'une application Android

Pour intercepter le trafic réseau d’une application Android, deux approches principales existent : l’inspection via Android Studio (réservée aux apps en développement) et l’utilisation d’un proxy HTTPS (comme Proxyman) pour les apps tierces. En développement, Android Studio exploite le flag android:debuggable="true" et le protocole JDWP pour rediriger les flux réseau via ADB, permettant d’analyser les requêtes HTTP(S) sans déchiffrement direct, mais en interceptant les objets mémoire des bibliothèques comme OkHttp. Pour les apps en production, non debuggables, la solution passe par un proxy HTTPS (ex : Proxyman) : il faut rediriger le trafic de l’émulateur/device vers le proxy, installer son certificat root dans le magasin système (nécessitant souvent un accès root ou un émulateur non-production), puis activer le déchiffrement HTTPS pour les domaines cibles. Cette méthode contourne les restrictions d’Android 7+ sur les certificats utilisateur, mais exige des manipulations avancées (injection de certificats via adb, configuration de SELinux, etc.). L’article détaille aussi le rôle clé de Zygote dans l’initialisation des apps et propose des scripts pour automatiser l’installation des certificats. Une alternative comme Frida est évoquée pour des cas plus complexes.

L'attribut contenteditable plaintext-only - Alsacreations

L’attribut contenteditable="plaintext-only" en HTML offre une alternative sécurisée et simplifiée à contenteditable="true" : il permet de rendre un élément modifiable par l’utilisateur, mais en ne conservant que du texte brut, sans aucun formatage HTML ni balises (comme <script>, <b>, etc.). Contrairement à la valeur par défaut, qui accepte tout code HTML collé ou saisi (avec les risques de failles XSS ou de styles indésirables), plaintext-only supprime automatiquement tout balisage, garantissant un contenu propre et prévisible. Idéal pour les champs de titre, commentaires ou tags dans un CMS, il simplifie aussi la récupération du contenu en JavaScript (textContent et innerHTML renvoient la même chose). Bien que pratique, il ne dispense pas d’une validation côté serveur, car l’attribut peut être contourné. Compatible avec les navigateurs modernes, il évite les surprises tout en restant simple à implémenter.