Conditions d'attaque pour la vulnérabilité de sécurité ZipperDown :
1. L'application utilise ZipArchive
2 Un certain package zip émis par l'application n'est pas crypté pendant la transmission, zip Le package. n'est pas crypté
3. L'application utilise JSPatch ou d'autres moteurs d'exécution, et le script local n'est pas crypté tant qu'il est placé dans le répertoire spécifié et le script local. la légalité n'est pas vérifiée#🎜 🎜#
4. Les utilisateurs se connectent à des points d'accès WIFI peu fiables pour la communication réseau Méthodes pour contourner cette vulnérabilité propre aux développeurs :#🎜 🎜#1. Vers SSZipArchive La bibliothèque est réparée Dans la fonction de décompression unzipFileAtPath, la chaîne "../" qui peut provoquer une traversée de répertoire est interceptée.
2. Lorsque le client communique avec le serveur, utilisez le protocole de transmission sécurisé HTTPS pour garantir que les données dans l'interaction entre l'APP et le serveur sont cryptées par le protocole HTTPS ; 🎜🎜#3. Oui Le fichier du package zip téléchargé par l'APP est crypté et protégé pendant le processus de transmission, et l'intégrité et la légalité du package zip sont vérifiées sur le client pour éviter qu'il ne soit remplacé ; 🎜#4. Exécutez des scripts locaux dans l'APP Chiffrez et vérifiez l'intégrité et la légalité des scripts locaux pour éviter qu'ils ne soient remplacés
Extension: ZipperDown n'est pas un nouveau ; vulnérabilité, mais un "problème de sécurité très classique" ", son impact dépend principalement de l'application spécifique et des autorisations qu'elle obtient, et une vulnérabilité similaire "File Directory Traversal Vulnerability" a également été trouvée sur la plateforme Android
#🎜🎜 # Concernant la vulnérabilité de traversée du répertoire de fichiers, la prémisse pour que la vulnérabilité se produise : Les applications Android utilisent des fichiers décompressés, tels qu'un mécanisme de chargement dynamique, téléchargent apk/zip, puis décompressent localement; Cause de la vulnérabilité#🎜🎜 #Parce que la classe ZipOutputStream n'impose aucune restriction sur le nom du fichier lors de la compression du fichier Si le package zip téléchargé est intercepté et modifié de manière malveillante, le nom du fichier peut être nommé. "../../../../ data/data/xxx.xxx.x/xxx", car Android est basé sur le système Linux. Dans le système Linux, le symbole ../ signifie revenir en haut. répertoire, vous pouvez donc obtenir quelques symboles supplémentaires ici, afin qu'il revienne au répertoire racine du système Android, puis entrez dans le répertoire sandbox de l'application actuelle et écrivez un fichier.
Risques de la vulnérabilité ZipperDown
Grâce à cette vulnérabilité, les attaquants peuvent détruire les données des applications, obtenir les données privées des utilisateurs et même acquérir la possibilité d'exécuter du code arbitraire.
Mesures d'évitement ; méthodes de contournement propres aux développeurs :
1 Lors de la décompression de ZipEntry, filtrez la décompression des fichiers avec des caractères spéciaux ou décompressez jusqu'à ce que le nom du fichier local ne puisse plus contenir. caractères spéciaux ;
2. Lorsque le client communique avec le serveur, utilisez le protocole de transmission sécurisé HTTPS pour garantir que les données dans l'interaction entre l'APP et le serveur sont cryptées par le protocole HTTPS ; 🎜##🎜🎜 #3. Cryptez le fichier du package zip téléchargé par l'APP pendant le processus de transmission et vérifiez l'intégrité et la légalité du package zip sur le client pour éviter qu'il ne soit remplacé
;爱solution de cryptosécurité Solution
1. AiCrypto fournit un plan d'évaluation pour cette vulnérabilité afin de détecter si l'application présente cette vulnérabilité
2. vulnérabilité pendant le processus de communication. Les données sont cryptées et garanties contre toute altération
Solution de sécurité utilisateur
N'utilisez pas de points d'accès WIFI non certifiés et mettez à jour l'application sur votre téléphone ; en temps opportun.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!