CSP bypass: self + 'unsafe-inline' with Iframes
एक कॉन्फ़िगरेशन जैसे:
Prohibits usage of any functions that execute code transmitted as a string. For example: eval, setTimeout, setInterval
will all be blocked because of the setting unsafe-eval
Any content from external sources is also blocked, including images, CSS, WebSockets, and, especially, JS
Via Text & Images
यह देखा गया है कि आधुनिक ब्राउज़र छवियों और पाठों को उनके प्रदर्शन को बढ़ाने के लिए HTML में परिवर्तित करते हैं (जैसे, पृष्ठभूमि सेट करना, केंद्रित करना, आदि)। परिणामस्वरूप, यदि किसी छवि या पाठ फ़ाइल, जैसे favicon.ico
या robots.txt
, को iframe
के माध्यम से खोला जाता है, तो इसे HTML के रूप में प्रस्तुत किया जाता है। विशेष रूप से, इन पृष्ठों में अक्सर CSP हेडर की कमी होती है और इनमें X-Frame-Options शामिल नहीं हो सकते हैं, जिससे इनसे मनमाने JavaScript का निष्पादन संभव हो जाता है:
Via Errors
इसी तरह, त्रुटि प्रतिक्रियाएँ, जैसे कि टेक्स्ट फ़ाइलें या चित्र, आमतौर पर CSP हेडर के बिना आती हैं और X-Frame-Options को छोड़ सकती हैं। त्रुटियों को एक iframe के भीतर लोड करने के लिए प्रेरित किया जा सकता है, जिससे निम्नलिखित क्रियाएँ संभव होती हैं:
किसी भी उल्लेखित परिदृश्य को ट्रिगर करने के बाद, iframe के भीतर JavaScript निष्पादन इस प्रकार संभव है:
संदर्भ
Last updated