hacktricks/mobile-pentesting/ios-pentesting/ios-custom-uri-handlers-deeplinks-custom-schemes.md

87 lines
8.7 KiB
Markdown
Raw Normal View History

2022-04-28 16:01:33 +00:00
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
2022-04-28 16:01:33 +00:00
HackTricks को समर्थन करने के अन्य तरीके:
2022-04-28 16:01:33 +00:00
* अगर आप चाहते हैं कि आपकी **कंपनी HackTricks में विज्ञापित हो** या **HackTricks को PDF में डाउनलोड करें** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
* **शामिल हों** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या मुझे **ट्विटर** पर फॉलो करें 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* **अपने हैकिंग ट्रिक्स साझा करें, HackTricks** के लिए PRs सबमिट करके और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos को फॉलो करके।
2022-04-28 16:01:33 +00:00
</details>
यह एक सारांश है जो संबंधित जानकारी से है [https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0075/](https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0075/)
2022-04-28 16:01:33 +00:00
## मूल जानकारी
2021-05-21 16:38:18 +00:00
कस्टम URL स्कीम्स ऐप्स को एक कस्टम प्रोटोकॉल का उपयोग करके संचार करने की संभावना प्रदान करते हैं, जैसा कि [एप्पल डेवलपर डॉक्यूमेंटेशन](https://developer.apple.com/library/content/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/Inter-AppCommunication/Inter-AppCommunication.html#//apple_ref/doc/uid/TP40007072-CH6-SW1) में विस्तार से वर्णित है। इन स्कीम्स को ऐप द्वारा घोषित किया जाना चाहिए, जो फिर इन स्कीम्स का पालन करते हुए आने वाले URLs को संभालता है। इस वेक्टर के माध्यम से हमलों को रोकने के लिए **सभी URL पैरामीटरों की पुष्टि करना** और **किसी भी गलतफहमी वाले URLs को छोड़ना** महत्वपूर्ण है।
2021-05-21 16:38:18 +00:00
एक उदाहरण दिया गया है जहां URI `myapp://hostname?data=123876123` एक विशिष्ट एप्लिकेशन क्रिया को आमंत्रित करता है। एक नोट किया गया वंर्नबिलिटी था Skype Mobile ऐप में, जिसने `skype://` प्रोटोकॉल के माध्यम से अनधिकृत कॉल क्रियाएँ संभावित बनाई थी। पंजीकृत स्कीम्स ऐप के `Info.plist` में `CFBundleURLTypes` के तहत पाए जा सकते हैं। दुर्भाग्यपूर्ण ऐप्लिकेशन इसे उत्पीड़ित करके यह शोषण कर सकते हैं और संवेदनशील जानकारी को अवरोधित कर सकते हैं।
2021-05-21 16:38:18 +00:00
### एप्लिकेशन क्वेरी स्कीम्स पंजीकरण
2021-05-21 16:38:18 +00:00
iOS 9.0 से, किसी ऐप की उपलब्धता की जांच करने के लिए, `canOpenURL:` में URL स्कीम्स की घोषणा करने की आवश्यकता होती है `Info.plist` के तहत `LSApplicationQueriesSchemes` के तहत। यह ऐप को 50 तक क्वेरी करने की सीमा लगाता है, जिससे ऐप की गणना को रोककर गोपनीयता को बढ़ाता है।
```xml
2021-05-21 16:38:18 +00:00
<key>LSApplicationQueriesSchemes</key>
2023-11-06 08:38:02 +00:00
<array>
<string>url_scheme1</string>
<string>url_scheme2</string>
</array>
2021-05-21 16:38:18 +00:00
```
### परीक्षण URL हैंडलिंग और मान्यता
2021-05-21 16:38:18 +00:00
डेवलपर्स को URL पथ निर्माण और मान्यता को समझने के लिए स्रोत कोड में विशिष्ट विधियों की जांच करनी चाहिए, जैसे `application:didFinishLaunchingWithOptions:` और `application:openURL:options:`। उदाहरण के लिए, टेलीग्राम विभिन्न विधियों का उपयोग URL खोलने के लिए करता है:
2021-05-21 16:38:18 +00:00
```swift
func application(_ application: UIApplication, open url: URL, sourceApplication: String?) -> Bool {
2023-11-06 08:38:02 +00:00
self.openUrl(url: url)
return true
2021-05-21 16:38:18 +00:00
}
func application(_ application: UIApplication, open url: URL, sourceApplication: String?,
annotation: Any) -> Bool {
2023-11-06 08:38:02 +00:00
self.openUrl(url: url)
return true
2021-05-21 16:38:18 +00:00
}
func application(_ app: UIApplication, open url: URL,
options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {
2023-11-06 08:38:02 +00:00
self.openUrl(url: url)
return true
2021-05-21 16:38:18 +00:00
}
func application(_ application: UIApplication, handleOpen url: URL) -> Bool {
2023-11-06 08:38:02 +00:00
self.openUrl(url: url)
return true
2021-05-21 16:38:18 +00:00
}
```
### अन्य ऐप्स के लिए URL अनुरोधों का परीक्षण
2021-05-21 16:38:18 +00:00
`openURL:options:completionHandler:` जैसी विधियाँ अन्य ऐप्स के साथ संवाद करने के लिए URL खोलने के लिए महत्वपूर्ण हैं। ऐप के स्रोत कोड में इस प्रकार की विधियों की पहचान, बाह्य संचार को समझने के लिए महत्वपूर्ण है।
2021-05-21 16:38:18 +00:00
### पुरानी विध
2021-05-21 16:38:18 +00:00
```bash
$ 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
```
## संदर्भ
* [https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0075/](https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0075/)
2022-04-28 16:01:33 +00:00
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
HackTricks का समर्थन करने के अन्य तरीके:
2022-04-28 16:01:33 +00:00
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या मुझे **ट्विटर** पर फॉलो करें 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* **अपने हैकिंग ट्रिक्स साझा करें, HackTricks** और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs सबमिट करके।
2022-04-28 16:01:33 +00:00
</details>