Der Artikel, den ich heute mit Ihnen teile, ist eine statische Analyse der Android-APP. Da die APP Probleme mit unsicherer Speicherung und hartcodierten Passwortlecks hat, ist es möglich, sich bei ihrem SMS-Verwaltungssystem anzumelden Hijack seine SMS-Schnittstelle, das Folgende ist die relevante Analyse und Forschung.
Da der Umfang des öffentlichen Testprojekts eine bestimmte Android-APP eines verwandten Herstellers umfasst, habe ich diese APP-Anwendung auf mein Android-Telefon heruntergeladen und ausgeführt Laden Sie die APK-Datei zur statischen Analyse herunter. Hier sind zwei empfohlene native und schnelle APK-Download-URLs:
https://apk.support/apk-downloader
https://apkpure.com /
Nachdem wir die APK-Datei erhalten haben, müssen wir sie dekompilieren und die darin enthaltenen Java-Klassendateien zur Analyse finden. Sie können die folgenden zwei Tools hier installieren:
#🎜🎜 #https://github.com/pxb1988/dex2jarhttps://mac.filehorse.com/download-jd-gui-java-decompiler/dex2jarclasses.dex#🎜 🎜#
Nach der Installation der oben genannten Tools legen wir die APK-Datei der Ziel-APP in einen anderen separaten Ordner ab, ändern ihr Suffix von .apk in .zip und entpacken dann die Zip-Datei, und dann können wir etwas XML sehen Dokumente, Pfaddateien, Vorlagenressourcendateien usw. Unter diesen Dateien ist unser Ziel die Datei „classes.dex“. Nach der Dekomprimierung werden normalerweise eine oder mehrere „classes.dex“-Dateien gefunden. Als nächstes können wir die Dex-Datei mit dem Tool dex2jar in eine Java-Datei konvertieren. Der spezifische Befehl lautet wie folgt:
# 🎜🎜# Wenn dieser Befehl nicht funktioniert, können Sie eine andere Version des Befehls dex2jar verwenden:
d2j-dex2jarclasses.dex
# 🎜🎜# Nach dem Ausführen des obigen Befehls wird eine Java-Datei wie „classes_dex2jar.jar“ im Ordner generiert. Sobald wir diese Datei haben, verwenden wir ein weiteres nützliches Tool, um sie zu dekompilieren. Ich persönlich verwende gerne JD-GUI ://github.com/java-decompiler/jd-gui Nachdem wir damit die generierte JAR-Datei geöffnet haben, können wir viele Java-Ressourcendateien sehen und diese verschiedenen Ressourcendateien auch speichern und lesen.
Mit dem gespeicherten Ressourcendateicode müssen wir versuchen, einige Probleme daraus zu finden. Hier empfehle ich ein Tool – Donghua Mobile Security Penetration Testing Framework: Mobile Security Framework ( MobSF), ein intelligentes, integriertes automatisches Penetrationstest-Framework für mobile Open-Source-Anwendungen (Android/iOS), unterstützt Binärdateien (APK und IPA) und Quellcode-Komprimierungspakete und kann für statische und dynamische Analysen verwendet werden.
Code-Analyse
Nach Abschluss der oben genannten Arbeiten können wir den Code der Ziel-Android-APP gründlich analysieren. Als ich mich hinsetzte, um anhand meiner Checkliste zu analysieren, fand ich bald eine der Dateien namens Constant.java. Sie befand sich im SMS-Pfad der APP und enthielt einige verstreute Informationen wie Benutzername, Standort, Passwort und andere harte Daten. codierte Dienste. Nachricht und der URL-Pfad der SMS-API. Die allgemeine Situation ist wie folgt:
Dieses Verwaltungssystem ist ein SMS-API-Gateway, über das Sie gezielte SMS realisieren können Senden von Einstellungen und Marketing-Upgrades Und Verwaltungsvorgänge wie Aufladen und, was noch wichtiger ist, die Mobiltelefonnummer des Benutzers können heruntergeladen werden. Zusammenfassung
Bevor Sie dynamische und andere Analysen in der APP durchführen, wird empfohlen, einige statische Analysen durchzuführen. Sie können dies der Reihe nach gemäß Ihrer eigenen Checkliste durchführen. und Sie können daraus möglicherweise einige unerwartete Informationen gewinnen. Für APP-Anwendungsunternehmen müssen sie das Speichern einiger passwort- und anmeldeinformationsbezogener Informationen in der APP vermeiden. Auch wenn dies erforderlich ist, ist eine entsprechende Verschlüsselungsverarbeitung erforderlich.
Das obige ist der detaillierte Inhalt vonBeispielanalyse einer statischen Analyse von APK-Dateien zur Erkennung von Lecks hartcodierter Passwörter in APP-Anwendungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!