Chrome Cache to XSS
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 साझा करें।
More in depth details in this writeup.
यहां चर्चा की गई तकनीक दो प्रमुख कैश प्रकारों के व्यवहार और इंटरैक्शन को समझने में शामिल है: back/forward cache (bfcache) और disk cache। bfcache, जो एक पृष्ठ का पूरा स्नैपशॉट संग्रहीत करता है जिसमें JavaScript heap शामिल है, बैक/फॉरवर्ड नेविगेशन के लिए डिस्क कैश की तुलना में प्राथमिकता दी जाती है क्योंकि यह अधिक व्यापक स्नैपशॉट संग्रहीत करने की क्षमता रखती है। इसके विपरीत, डिस्क कैश, वेब से प्राप्त संसाधनों को संग्रहीत करता है बिना JavaScript heap को शामिल किए, और संचार लागत को कम करने के लिए बैक/फॉरवर्ड नेविगेशन के लिए उपयोग किया जाता है। डिस्क कैश का एक दिलचस्प पहलू यह है कि इसमें fetch का उपयोग करके प्राप्त संसाधन शामिल होते हैं, जिसका अर्थ है कि एक्सेस किए गए URL संसाधनों को ब्राउज़र द्वारा कैश से रेंडर किया जाएगा।
Key Points:
- bfcache बैक/फॉरवर्ड नेविगेशन में डिस्क कैश पर प्राथमिकता रखता है।
- डिस्क कैश में संग्रहीत पृष्ठ का उपयोग करने के लिए, bfcache को निष्क्रिय करना होगा।
Disabling bfcache:
डिफ़ॉल्ट रूप से, Puppeteer bfcache को निष्क्रिय करता है, जो Chromium के दस्तावेज़ों में सूचीबद्ध शर्तों के साथ मेल खाता है। bfcache को निष्क्रिय करने का एक प्रभावी तरीका RelatedActiveContentsExist का उपयोग करना है, जो window.open() के साथ एक पृष्ठ खोलकर प्राप्त किया जाता है जो window.opener का संदर्भ बनाए रखता है।
Reproducing the behavior:
- एक वेबपृष्ठ पर जाएं, जैसे
https://example.com। open("http://spanote.seccon.games:3000/api/token")निष्पादित करें, जिसके परिणामस्वरूप सर्वर प्रतिक्रिया 500 स्थिति कोड के साथ होती है।- नए खोले गए टैब में,
http://spanote.seccon.games:3000/पर जाएं। यह क्रियाhttp://spanote.seccon.games:3000/api/tokenकी प्रतिक्रिया को डिस्क कैश के रूप में कैश करती है। history.back()का उपयोग करके वापस जाएं। यह क्रिया पृष्ठ पर कैश की गई JSON प्रतिक्रिया के रेंडरिंग का परिणाम देती है।
यह सत्यापित करने के लिए कि डिस्क कैश का उपयोग किया गया था, Google Chrome में DevTools का उपयोग किया जा सकता है।
bfcache और डिस्क कैश पर अधिक जानकारी के लिए, संदर्भ web.dev on bfcache और Chromium’s design documents on disk cache पर मिल सकते हैं।
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 साझा करें।


