-
[InsecureShop] Arbitrary Code ExecutionAndroid/InsecureShop 2025. 4. 1. 18:38
임의 코드 실행
LoginActivity
for (PackageInfo info : getPackageManager().getInstalledPackages(0)) { String packageName = info.packageName; Intrinsics.checkExpressionValueIsNotNull(packageName, "packageName"); if (StringsKt.startsWith$default(packageName, "com.insecureshopapp", false, 2, (Object) null)) { try { Context packageContext = createPackageContext(packageName, 3); Intrinsics.checkExpressionValueIsNotNull(packageContext, "packageContext"); Object value = packageContext.getClassLoader().loadClass("com.insecureshopapp.MainInterface").getMethod("getInstance", Context.class).invoke(null, this); Intrinsics.checkExpressionValueIsNotNull(value, "packageContext.classLoad… .invoke(null, this)"); Log.d("object_value", value.toString()); } catch (Exception e) { throw new RuntimeException(e); } } }
기기에 설치된 앱들 중 com.insecureshopapp으로 시작하는 패키지를 찾아, 그 앱의 MainInterface 클래스에서 getInstance(Context) 메서드를 호출해 객체를 가져옵니다.
공격자는 해당 패키지명으로 시작하는 악의적인 앱을 만들고 기기에 설치하면 InsecureShop 앱에서 로그인 과정에서 임의 코드가 실행될 수 있다.
해당 과정은 기회가 되면 시도해볼 생각입니다.
'Android > InsecureShop' 카테고리의 다른 글
[InsecureShop] Intent Redirection (Access to Protected Components) (1) 2025.04.01 [InsecureShop] Weak Host Validation (0) 2025.04.01 [InsecureShop] Insufficient URL Validation (1) 2025.04.01 [InsecureShop] Hardcoded Credentials (0) 2025.04.01 [InsecureShop] 시작하기 (0) 2025.03.30