OWASP বিভাগ: MASVS-প্ল্যাটফর্ম: প্ল্যাটফর্ম ইন্টারঅ্যাকশন
ওভারভিউ
android:exported
অ্যাট্রিবিউট সেট করে যে একটি উপাদান (ক্রিয়াকলাপ, পরিষেবা, সম্প্রচার রিসিভার, ইত্যাদি) অন্যান্য অ্যাপ্লিকেশনের উপাদানগুলির দ্বারা চালু করা যেতে পারে কিনা:
-
true
হলে, যেকোন অ্যাপ অ্যাক্টিভিটি অ্যাক্সেস করতে পারে এবং তার সঠিক ক্লাসের নাম দিয়ে এটি চালু করতে পারে। -
false
হলে, একই অ্যাপ্লিকেশনের শুধুমাত্র উপাদান, একই ব্যবহারকারী আইডি সহ অ্যাপ্লিকেশন, বা সুবিধাপ্রাপ্ত সিস্টেম উপাদানগুলি কার্যকলাপ চালু করতে পারে।
এই অ্যাট্রিবিউটের ডিফল্ট মানের পিছনে যুক্তি সময়ের সাথে পরিবর্তিত হয় এবং উপাদানের প্রকার এবং Android সংস্করণের উপর নির্ভর করে ভিন্ন ছিল। উদাহরণ স্বরূপ, API লেভেল 16 (Android 4.1.1) বা <provider>
উপাদানের মান কম করা ডিফল্টরূপে true
হিসেবে সেট করা আছে। এই বৈশিষ্ট্যটি সেট না করা স্পষ্টভাবে কিছু ডিভাইসের মধ্যে বিভিন্ন ডিফল্ট মান থাকার ঝুঁকি বহন করে।
প্রভাব
বিভিন্ন ডিফল্ট মান সহ পরিস্থিতি মানে আপনি ঘটনাক্রমে অভ্যন্তরীণ অ্যাপ্লিকেশন উপাদানগুলি প্রকাশ করতে পারেন। ফলাফলের কয়েকটি উদাহরণ নিম্নলিখিত হতে পারে:
পরিষেবা আক্রমণ অস্বীকার. আপনার অ্যাপের অভ্যন্তরীণ কার্যকারিতা পরিবর্তন করতে অন্য অ্যাপগুলি অভ্যন্তরীণ উপাদানগুলিকে অনুপযুক্তভাবে অ্যাক্সেস করছে। সংবেদনশীল তথ্য ফাঁস. দুর্বল আবেদনের প্রেক্ষাপটে কোড নির্বাহ।
প্রশমন
সর্বদা স্পষ্টভাবে android:exported
বৈশিষ্ট্য সেট করুন। এটি ব্যাখ্যার জন্য কোন জায়গা ছেড়ে দেবে না এবং একটি উপাদানের দৃশ্যমানতার বিষয়ে আপনার উদ্দেশ্যকে স্পষ্টভাবে সংকেত দেবে।
আপনার জন্য প্রস্তাবিত
- দ্রষ্টব্য: জাভাস্ক্রিপ্ট বন্ধ থাকলে লিঙ্ক টেক্সট প্রদর্শিত হয়
- # কী ব্যবস্থাপনা {:#কী-ব্যবস্থাপনা}
- সরাসরি APK থেকে এমবেড করা DEX কোড চালান
- ট্যাপজ্যাকিং