8.7 KiB
जानें AWS हैकिंग को शून्य से हीरो तक htARTE (HackTricks AWS Red Team Expert) के साथ!
HackTricks को समर्थन करने के अन्य तरीके:
- यदि आप अपनी कंपनी का विज्ञापन HackTricks में देखना चाहते हैं या HackTricks को PDF में डाउनलोड करना चाहते हैं तो सब्सक्रिप्शन प्लान देखें!
- आधिकारिक PEASS & HackTricks स्वैग प्राप्त करें
- हमारे विशेष NFTs कलेक्शन, The PEASS Family खोजें
- शामिल हों 💬 डिस्कॉर्ड समूह या टेलीग्राम समूह या हमें ट्विटर 🐦 @carlospolopm पर फॉलो करें।
- अपने हैकिंग ट्रिक्स साझा करें, HackTricks और HackTricks Cloud github repos में PRs सबमिट करके।
यह एक सारांश है जो संबंधित जानकारी से है https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0075/
मूल जानकारी
कस्टम URL स्कीम्स ऐप्स को एक कस्टम प्रोटोकॉल का उपयोग करके संचार करने की संभावना प्रदान करते हैं, जैसा कि एप्पल डेवलपर डॉक्यूमेंटेशन में विस्तार से वर्णित है। इन स्कीम्स को ऐप द्वारा घोषित किया जाना चाहिए, जो फिर उन स्कीम्स का पालन करते हुए आने वाले URL को संभालता है। इस वेक्टर के माध्यम से हमलों से बचने के लिए सभी URL पैरामीटरों की पुष्टि करना और किसी भी गलत URL को छोड़ देना महत्वपूर्ण है।
एक उदाहरण दिया गया है जहां URI myapp://hostname?data=123876123
एक विशिष्ट एप्लिकेशन क्रिया को आमंत्रित करता है। एक नोट किया गया वंर्नरेबिलिटी था Skype Mobile ऐप में, जिसने skype://
प्रोटोकॉल के माध्यम से अनधिकृत कॉल क्रियाएँ संभावित की। पंजीकृत स्कीम्स ऐप के Info.plist
में CFBundleURLTypes
के तहत पाए जा सकते हैं। दुर्भाग्यपूर्ण एप्लिकेशन इसे उचित जानकारी को अंतर्ग्रहण करने के लिए URIs को पुनः पंजीकृत करके इसका शोषण कर सकते हैं।
एप्लिकेशन क्वेरी स्कीम्स पंजीकरण
iOS 9.0 से, किसी एप्लिकेशन की उपलब्धता की जांच के लिए, canOpenURL:
में URL स्कीम्स की घोषणा करने की आवश्यकता होती है Info.plist
के तहत LSApplicationQueriesSchemes
के तहत। इससे एक ऐप को 50 तक की सीमा तक सीमित किया जाता है, जिससे ऐप अंकगणित को रोककर गोपनीयता को बढ़ावा देता है।
<key>LSApplicationQueriesSchemes</key>
<array>
<string>url_scheme1</string>
<string>url_scheme2</string>
</array>
परीक्षण URL हैंडलिंग और मान्यता
डेवलपर्स को URL पथ निर्माण और मान्यता को समझने के लिए स्रोत कोड में विशिष्ट विधियों की जांच करनी चाहिए, जैसे application:didFinishLaunchingWithOptions:
और application:openURL:options:
। उदाहरण के लिए, टेलीग्राम विभिन्न विधियों का उपयोग URL खोलने के लिए करता है:
func application(_ application: UIApplication, open url: URL, sourceApplication: String?) -> Bool {
self.openUrl(url: url)
return true
}
func application(_ application: UIApplication, open url: URL, sourceApplication: String?,
annotation: Any) -> Bool {
self.openUrl(url: url)
return true
}
func application(_ app: UIApplication, open url: URL,
options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {
self.openUrl(url: url)
return true
}
func application(_ application: UIApplication, handleOpen url: URL) -> Bool {
self.openUrl(url: url)
return true
}
अन्य ऐप्स के लिए URL अनुरोधों का परीक्षण
openURL:options:completionHandler:
जैसी विधियाँ अन्य ऐप्स के साथ संवाद करने के लिए URL खोलने के लिए महत्वपूर्ण हैं। ऐप के स्रोत कोड में इस प्रकार की विधियों की पहचान सुरक्षा संबंधित विचारों के लिए महत्वपूर्ण है।
पुरानी विध
$ frida -U SpringBoard -l ios-url-scheme-fuzzing.js
[iPhone::SpringBoard]-> fuzz("iGoat", "iGoat://?contactNumber={0}&message={0}")
Watching for crashes from iGoat...
No logs were moved.
Opened URL: iGoat://?contactNumber=0&message=0
संदर्भ
जानें AWS हैकिंग को शून्य से हीरो तक htARTE (HackTricks AWS Red Team Expert)!
HackTricks का समर्थन करने के अन्य तरीके:
- यदि आप अपनी कंपनी का विज्ञापन HackTricks में देखना चाहते हैं या HackTricks को PDF में डाउनलोड करना चाहते हैं तो सब्सक्रिप्शन प्लान्स देखें!
- आधिकारिक PEASS और HackTricks स्वैग प्राप्त करें
- हमारे विशेष NFTs कलेक्शन, The PEASS Family खोजें
- शामिल हों 💬 डिस्कॉर्ड समूह या टेलीग्राम समूह या हमें ट्विटर 🐦 @carlospolopm** पर फॉलो करें।
- हैकिंग ट्रिक्स साझा करें, HackTricks और HackTricks Cloud github repos में PRs सबमिट करके।