hacktricks/mobile-pentesting/ios-pentesting/ios-uiactivity-sharing.md

9.5 KiB

iOS UIActivity Sharing

जानें AWS हैकिंग को शून्य से हीरो तक htARTE (HackTricks AWS Red Team Expert)!

दूसरे तरीके HackTricks का समर्थन करने के लिए:

UIActivity Sharing Simplified

iOS 6 के बाद, थर्ड-पार्टी एप्लिकेशनों को डेटा साझा करने की अनुमति दी गई है जैसे AirDrop का उपयोग करके, जैसा कि Apple के Inter-App Communication guide में विस्तार से व्यक्त किया गया है। यह सुविधा एक सिस्टम-व्यापी शेयर एक्टिविटी शीट के माध्यम से प्रकट होती है जो "शेयर" बटन के साथ इंटरैक्ट करने पर सामने आती है।

सभी इनबिल्ट शेयरिंग विकल्पों की व्यापक गणना UIActivity.ActivityType पर उपलब्ध है। डेवलपर अपने एप्लिकेशन के लिए अनुचित मानते हैं तो वे कुछ शेयरिंग विकल्पों को छोड़ सकते हैं।

डेटा साझा करने का तरीका

ध्यान दिया जाना चाहिए:

  • साझा किए जा रहे डेटा का प्रकृति।
  • कस्टम एक्टिविटी का समावेश।
  • कुछ एक्टिविटी प्रकारों को छोड़ना।

साझा करना UIActivityViewController का निर्माण करके सुविधा प्रदान किया जाता है, जिसमें साझा करने के लिए इच्छित आइटम पास किए जाते हैं। यह इसे कॉल करके प्राप्त किया जाता है:

$ rabin2 -zq Telegram\ X.app/Telegram\ X | grep -i activityItems
0x1000df034 45 44 initWithActivityItems:applicationActivities:

डेवलपर्स को UIActivityViewController को जांचना चाहिए जिसमें यह शुरू किया गया है, उसमें कौन सी गतिविधियाँ और कस्टम गतिविधियाँ हैं, साथ ही किसी निर्दिष्ट excludedActivityTypes को।

डेटा प्राप्त करने का तरीका

निम्नलिखित पहलुओं में महत्वपूर्ण हैं जब डेटा प्राप्त किया जाता है:

  • कस्टम दस्तावेज़ प्रकार की घोषणा।
  • ऐप जो दस्तावेज़ खोल सकता है की दस्तावेज़ प्रकार की निर्देशिका
  • प्राप्त किए गए डेटा की मान्यता की पुष्टि

स्रोत कोड तक पहुंच के बिना, कोई भी Info.plist की जांच कर सकता है जैसे UTExportedTypeDeclarations, UTImportedTypeDeclarations, और CFBundleDocumentTypes जैसे कुंजी जिससे एक ऐप दस्तावेज़ के प्रकार को संभाल सकता है और घोषित कर सकता है।

इन कुंजियों पर एक संक्षिप्त मार्गदर्शिका Stackoverflow पर उपलब्ध है, जो सिस्टम-व्यापी मान्यता के लिए UTIs की परिभाषा और दस्तावेज़ प्रकारों को आपके ऐप के साथ जोड़ने की महत्वता को उजागर करती है "Open With" संवाद में एकीकरण के लिए।

गतिशील परीक्षण दृष्टिकोण

गतिविधियों को भेजने का परीक्षण करने के लिए, व्यक्ति:

  • init(activityItems:applicationActivities:) विधि में हुक कर सकता है ताकि साझा किए जा रहे आइटम और गतिविधियों को कैप्चर किया जा सके।
  • excludedActivityTypes संपत्ति को अंतर्दृष्टि करके छोड़ी गई गतिविधियों की पहचान कर सकता है।

आइटम प्राप्त करने के लिए, इसमें शामिल है:

  • एप्लिकेशन के साथ एक फ़ाइल साझा करना अन्य स्रोत से (जैसे, AirDrop, ईमेल) जो "Open with..." संवाद को प्रोत्साहित करता है।
  • स्थिर विश्लेषण के दौरान पहचानी गई अन्य विधियों के साथ application:openURL:options: को हुक करना ऐप के प्रतिक्रिया को देखने के लिए।
  • ऐप की मजबूती का मूल निर्मित फ़ाइल या फजिंग तकनीकों का उपयोग करना।

संदर्भ

जानें AWS हैकिंग को शून्य से हीरो तक htARTE (HackTricks AWS Red Team Expert) के साथ!

HackTricks का समर्थन करने के अन्य तरीके: