Bypassing SOP with Iframes - 2
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
इस चुनौती के लिए समाधान, @Strellic_ पिछले अनुभाग के समान एक विधि का प्रस्ताव करता है। चलो इसे देखते हैं।
इस चुनौती में हमलावर को bypass करना है:
यदि वह ऐसा करता है, तो वह एक postmessage भेज सकता है जिसमें HTML सामग्री होगी जो innerHTML
के साथ पृष्ठ में लिखी जाएगी बिना किसी सफाई के (XSS).
पहली जांच को बायपास करने का तरीका है window.calc.contentWindow
को undefined
और e.source
को null
बनाना:
window.calc.contentWindow
वास्तव में document.getElementById("calc")
है। आप document.getElementById
को <img name=getElementById />
के साथ क्लॉबर कर सकते हैं (ध्यान दें कि Sanitizer API -यहाँ- अपने डिफ़ॉल्ट स्थिति में DOM क्लॉबरिंग हमलों से सुरक्षा के लिए कॉन्फ़िगर नहीं की गई है)।
इसलिए, आप document.getElementById("calc")
को <img name=getElementById /><div id=calc></div>
के साथ क्लॉबर कर सकते हैं। फिर, window.calc
undefined
होगा।
अब, हमें e.source
को undefined
या null
होना चाहिए (क्योंकि ==
का उपयोग किया गया है बजाय ===
, null == undefined
True
है)। इसे प्राप्त करना "आसान" है। यदि आप एक iframe बनाते हैं और इससे postMessage भेजते हैं और तुरंत iframe को हटाते हैं, तो e.origin
null
होगा। निम्नलिखित कोड देखें
In order to bypass the second check about token is by sending token
with value null
and making window.token
value undefined
:
Sending token
in the postMessage with value null
is trivial.
window.token
in calling the function getCookie
which uses document.cookie
. Note that any access to document.cookie
in null
origin pages tigger an error. This will make window.token
have undefined
value.
The final solution by @terjanq is the following:
सीखें और AWS हैकिंग का अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE) सीखें और GCP हैकिंग का अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)