Bir Etkinlik bir uygulamadaki Android bileşenlerinden biridir. Kullanıcının mobil uygulamada gördüğü ekrandır. (Örneğin, ayarın “ekranı”, ana “ekranı” vb.). Basit bir uygulamada bir tane olabilirken, daha karmaşık olanlarda onlarca olabilir.
Güvenlik açısından bakıldığında normalde uygulama bileşenlerinin uygun olup olmadığını kontrol ederim. ihraç edildiyani diğer uygulamalar tarafından doğrudan çağrılabilirlerse. Bazen dışa aktarılan bu uygulamalar, geliştiricinin amaçlamadığı kısıtlamaları aşmak için kullanılabilir.
Bundan nasıl yararlanabildim
Bu spesifik hata ödül programında, uygulamanın derin bir bağlantıya izin verdiğini fark ettim, tartışma uğruna buna izin verelim com.android.appname://
uygulamanın ev etkinliğini otomatik olarak tetikledi. Ancak şifre kurulumuyla ana sayfaya erişim mümkün olmadı. Bir saldırganın uygulamanın ana sayfasına erişebilmesi, finansal işlemler yapmak da dahil olmak üzere hassas bilgilere erişebilmesi gibi, bu sayfaya erişimin de hassas olduğunu düşünüyorum.
Başlangıçta otomasyon araçlarını kullanarak “com.android.appname://login=1” gibi farklı parametreleri belirlemeye çalıştım ancak bu beni hiçbir yere götürmedi. Daha sonra bu niyeti birden çok kez hızlı bir şekilde göndermek gibi çılgınca bir düşünceye kapıldım ve bu, uygulamanın şifre ekranına girmeden önce kısa bir süre için ana ekranı gösterdiğini fark ettim.
Kavram Kanıtı
Daha sonra aşağıdaki basit kodu PoC olarak kullandım ve şifre ekranını atlamayı başardım.
while (true); do adb shell am start -a android.intent.action.VIEW -d "com.android.appname://"; sleep 0.15; done
Hiç şüphe yok ki, uygulama eylemi kaydetmeden önce (zamanlama etkisi nedeniyle) ara sıra birkaç dokunma girişimi gerekliydi, ancak işi yaptı!
Daha sonra sınırlı Kotlin becerilerimi kullanarak basit bir Android uygulaması oluşturmaya başladım (zorlandığımı ama çok şey öğrendiğimi itiraf ediyorum)
Hackerone incelemecisinin telefonunun benimkinden farklı davranması ihtimaline karşı uygulamada 3 düğme oluşturdum.
Son düşünceler
Bu ilginç bir keşifti çünkü zamanlama saldırısını kullanarak şifre etkinliklerini atlamayı hiç düşünmemiştim.