SOME - Same Origin Method Execution
Tip
AWS Hacking सीखें & अभ्यास करें:
HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking सीखें & अभ्यास करें:HackTricks Training GCP Red Team Expert (GRTE)
Az Hacking सीखें & अभ्यास करें:HackTricks Training Azure Red Team Expert (AzRTE)
assessment tracks (ARTA/GRTA/AzRTA) और Linux Hacking Expert (LHE) के लिए full HackTricks Training catalog ब्राउज़ करें।
HackTricks का समर्थन करें
- subscription plans देखें!
- जुड़ें 💬 Discord group, telegram group, follow करें @hacktricks_live X/Twitter पर, या LinkedIn page और YouTube channel देखें।
- HackTricks](https://github.com/carlospolop/hacktricks) और HackTricks Cloud github repos में PRs सबमिट करके hacking tricks साझा करें।
Same Origin Method Execution
ऐसे अवसर होंगे जब आप एक पृष्ठ में कुछ सीमित जावास्क्रिप्ट निष्पादित कर सकते हैं। उदाहरण के लिए, उस मामले में जब आप एक कॉलबैक मान को नियंत्रित कर सकते हैं जो निष्पादित होगा.
उन मामलों में, आप जो सबसे अच्छा कर सकते हैं वह है DOM तक पहुंच प्राप्त करना ताकि आप वहां जो भी संवेदनशील क्रिया कर सकते हैं उसे कॉल कर सकें (जैसे एक बटन पर क्लिक करना)। हालाँकि, आमतौर पर आप इस भेद्यता को छोटे एंडपॉइंट्स में पाएंगे जिनमें DOM में कोई दिलचस्प चीज नहीं है।
उन परिदृश्यों में, यह हमला बहुत उपयोगी होगा, क्योंकि इसका लक्ष्य यह है कि आप एक ही डोमेन के विभिन्न पृष्ठ से DOM के अंदर सीमित JS निष्पादन का दुरुपयोग कर सकें जिसमें बहुत सारी दिलचस्प क्रियाएँ हैं।
बुनियादी रूप से, हमले का प्रवाह निम्नलिखित है:
- एक कॉलबैक खोजें जिसे आप दुरुपयोग कर सकते हैं (संभावित रूप से [\w\._] तक सीमित)।
- यदि यह सीमित नहीं है और आप कोई भी JS निष्पादित कर सकते हैं, तो आप इसे सामान्य XSS के रूप में दुरुपयोग कर सकते हैं।
- शिकार को एक पृष्ठ खोलने के लिए मजबूर करें जो हमलावर द्वारा नियंत्रित है।
- पृष्ठ स्वयं एक अलग विंडो में खुलेगा (नई विंडो में
openerऑब्जेक्ट होगा जो प्रारंभिक एक को संदर्भित करता है)। - प्रारंभिक पृष्ठ उस पृष्ठ को लोड करेगा जहां दिलचस्प DOM स्थित है।
- दूसरा पृष्ठ कॉलबैक का दुरुपयोग करते हुए कमजोर पृष्ठ को लोड करेगा और
openerऑब्जेक्ट का उपयोग करके प्रारंभिक पृष्ठ में कुछ क्रिया करने के लिए पहुंच प्राप्त करेगा (जो अब दिलचस्प DOM को शामिल करता है)।
Caution
ध्यान दें कि भले ही प्रारंभिक पृष्ठ दूसरे पृष्ठ को बनाने के बाद एक नए URL तक पहुंचता है, दूसरे पृष्ठ का
openerऑब्जेक्ट नए DOM में पहले पृष्ठ के लिए अभी भी एक मान्य संदर्भ है।इसके अलावा, दूसरे पृष्ठ के लिए ओपनर ऑब्जेक्ट का उपयोग करने के लिए दोनों पृष्ठों का एक ही मूल में होना आवश्यक है। यही कारण है कि, इस भेद्यता का दुरुपयोग करने के लिए, आपको कुछ प्रकार का XSS एक ही मूल में खोजने की आवश्यकता है।
Exploitation
- आप इस रूप का उपयोग करके इस प्रकार की भेद्यता का शोषण करने के लिए एक PoC उत्पन्न कर सकते हैं: https://www.someattack.com/Playground/SOMEGenerator
- एक क्लिक के साथ HTML तत्व के लिए DOM पथ खोजने के लिए आप इस ब्राउज़र एक्सटेंशन का उपयोग कर सकते हैं: https://www.someattack.com/Playground/targeting_tool
Example
- आप एक कमजोर उदाहरण https://www.someattack.com/Playground/ में पा सकते हैं।
- ध्यान दें कि इस उदाहरण में सर्वर जावास्क्रिप्ट कोड उत्पन्न कर रहा है और इसे HTML में कॉलबैक पैरामीटर की सामग्री के आधार पर जोड़ रहा है:
<script>opener.{callbacl_content}</script>। इसलिए इस उदाहरण में आपकोopenerके उपयोग को स्पष्ट रूप से इंगित करने की आवश्यकता नहीं है। - इस CTF लेखन को भी देखें: https://ctftime.org/writeup/36068
References
Tip
AWS Hacking सीखें & अभ्यास करें:
HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking सीखें & अभ्यास करें:HackTricks Training GCP Red Team Expert (GRTE)
Az Hacking सीखें & अभ्यास करें:HackTricks Training Azure Red Team Expert (AzRTE)
assessment tracks (ARTA/GRTA/AzRTA) और Linux Hacking Expert (LHE) के लिए full HackTricks Training catalog ब्राउज़ करें।
HackTricks का समर्थन करें
- subscription plans देखें!
- जुड़ें 💬 Discord group, telegram group, follow करें @hacktricks_live X/Twitter पर, या LinkedIn page और YouTube channel देखें।
- HackTricks](https://github.com/carlospolop/hacktricks) और HackTricks Cloud github repos में PRs सबमिट करके hacking tricks साझा करें।


