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.