11 KiB
iOS Universal Links
जानें AWS हैकिंग को शून्य से हीरो तक htARTE (HackTricks AWS Red Team Expert) के साथ!
HackTricks का समर्थन करने के अन्य तरीके:
- यदि आप अपनी कंपनी का विज्ञापन HackTricks में देखना चाहते हैं या HackTricks को PDF में डाउनलोड करना चाहते हैं तो सब्सक्रिप्शन प्लान्स देखें!
- आधिकारिक PEASS & HackTricks स्वैग प्राप्त करें
- हमारे विशेष NFTs संग्रह The PEASS Family खोजें
- शामिल हों 💬 डिस्कॉर्ड समूह या टेलीग्राम समूह या हमें ट्विटर 🐦 @carlospolopm पर फॉलो करें।
- हैकिंग ट्रिक्स साझा करें द्वारा PRs सबमिट करके HackTricks और HackTricks Cloud github repos में।
परिचय
यूनिवर्सल लिंक्स उपयोगकर्ताओं को सीधे ऐप में सामग्री खोलने के अनुभव की बिना रुकावट प्रदान करते हैं, सफारी रिडायरेक्शन की आवश्यकता को छोड़ देते हैं। ये लिंक्स अद्वितीय और सुरक्षित होते हैं, क्योंकि इन्हें अन्य ऐप्स द्वारा दावा नहीं किया जा सकता। इसे सुनिश्चित किया जाता है एक apple-app-site-association
JSON फ़ाइल को वेबसाइट के मूल निर्देशिका पर होस्ट करके, वेबसाइट और ऐप के बीच एक सत्यापनीय लिंक स्थापित करके। ऐसे मामलों में जहां ऐप स्थापित नहीं है, सफारी उपयोगकर्ता को वेबपेज पर निर्देशित करेगा, ऐप की मौजूदगी बनाए रखते हुए।
पेनेट्रेशन टेस्टर्स के लिए, apple-app-site-association
फ़ाइल विशेष रूप से महत्वपूर्ण है क्योंकि यह संवेदनशील पथों का पता लगा सकता है, जिसमें अप्रकाशित सुविधाओं से संबंधित हो सकते हैं।
संबंधित डोमेन्स अनुमतियों का विश्लेषण
डेवलपर्स यून
<key>com.apple.developer.associated-domains</key>
<array>
<string>applinks:telegram.me</string>
<string>applinks:t.me</string>
</array>
अधिक व्यापक अनुभव के लिए, आर्काइव एप्पल डेवलपर डॉक्यूमेंटेशन का संदर्भ दें।
यदि कंपाइल किया गया एप्लिकेशन के साथ काम किया जा रहा है, तो entitlements को इस गाइड में बताए तरीके से निकाला जा सकता है।
एप्पल एप साइट एसोसिएशन फ़ाइल प्राप्त करना
apple-app-site-association
फ़ाइल को एंटाइटलमेंट्स में निर्दिष्ट डोमेन का उपयोग करके सर्वर से प्राप्त किया जाना चाहिए। सुनिश्चित करें कि फ़ाइल को सीधे HTTPS के माध्यम से https://<domain>/apple-app-site-association
पर पहुंचा जा सकता है। एप्पल एप साइट एसोसिएशन (AASA) वैलिडेटर जैसे उपकरण इस प्रक्रिया में सहायक हो सकते हैं।
एप्लिकेशन में यूनिवर्सल लिंक्स का हैंडलिंग
एप्लिकेशन को यूनिवर्सल लिंक्स को सही ढंग से हैंडल करने के लिए विशेष विधियों को लागू करना चाहिए। प्राथमिक विधि जिसे खोजना चाहिए, application:continueUserActivity:restorationHandler:
है। URL की scheme का HTTP या HTTPS होना महत्वपूर्ण है, क्योंकि अन्य को समर्थन नहीं किया जाएगा।
डेटा हैंडलर विधि का सत्यापन
जब एक यूनिवर्सल लिंक एप्लिकेशन को खोलता है, तो एप्लिकेशन को URL के साथ एक NSUserActivity
ऑब्ज
func application(_ application: UIApplication, continue userActivity: NSUserActivity,
restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {
// Check for web browsing activity and valid URL
if userActivity.activityType == NSUserActivityTypeBrowsingWeb, let url = userActivity.webpageURL {
application.open(url, options: [:], completionHandler: nil)
}
return true
}
URLs को सावधानी से पार्स किया और मान्यता प्राप्त किया जाना चाहिए, खासकर अगर उनमें पैरामीटर शामिल हैं, ताकि किसी भी संभावित spoofing या गलत डेटा के खिलाफ सुरक्षित रहा जा सके। NSURLComponents
API इस उद्देश्य के लिए उपयोगी है, जैसा नीचे प्रदर्शित किया गया है:
func application(_ application: UIApplication,
continue userActivity: NSUserActivity,
restorationHandler: @escaping ([Any]?) -> Void) -> Bool {
guard userActivity.activityType == NSUserActivityTypeBrowsingWeb,
let incomingURL = userActivity.webpageURL,
let components = NSURLComponents(url: incomingURL, resolvingAgainstBaseURL: true),
let path = components.path,
let params = components.queryItems else {
return false
}
if let albumName = params.first(where: { $0.name == "albumname" })?.value,
let photoIndex = params.first(where: { $0.name == "index" })?.value {
// Process the URL with album name and photo index
return true
} else {
// Handle invalid or missing parameters
return false
}
}
ध्यानपूर्वक विन्यास और मान्यता से, डेवलपर सुनिश्चित कर सकते हैं कि यूनिवर्सल लिंक्स उपयोगकर्ता अनुभव को बढ़ावा देते हैं जबकि सुरक्षा और गोपनीयता मानकों को बनाए रखते हैं।
संदर्भ
- https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0070/#static-analysis
- https://mobile-security.gitbook.io/mobile-security-testing-guide/ios-testing-guide/0x06h-testing-platform-interaction#testing-object-persistence-mstg-platform-8
जानें AWS हैकिंग को शून्य से हीरो तक htARTE (HackTricks AWS Red Team Expert)!
HackTricks का समर्थन करने के अन्य तरीके:
- यदि आप चाहते हैं कि आपकी कंपनी का विज्ञापन HackTricks में दिखाया जाए या HackTricks को PDF में डाउनलोड करें तो सब्सक्रिप्शन प्लान्स देखें!
- आधिकारिक PEASS & HackTricks स्वैग प्राप्त करें
- हमारे विशेष NFTs कलेक्शन The PEASS Family खोजें
- जुड़ें 💬 डिस्कॉर्ड समूह या टेलीग्राम समूह में या हमें ट्विटर 🐦 @carlospolopm** पर फॉलो करें।
- हैकिंग ट्रिक्स साझा करें द्वारा PRs सबमिट करके HackTricks और HackTricks Cloud github repos में।