mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-26 22:52:06 +00:00
6.2 KiB
6.2 KiB
Chrome Cache to XSS
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- サイバーセキュリティ企業で働いていますか? HackTricksで会社を宣伝したいですか?または、PEASSの最新バージョンにアクセスしたり、HackTricksをPDFでダウンロードしたいですか?SUBSCRIPTION PLANSをチェックしてください!
- The PEASS Familyを発見しましょう、独占的なNFTsのコレクションです
- 公式PEASS&HackTricksのグッズを手に入れましょう
- 💬 Discordグループに参加するか、telegramグループに参加するか、Twitter 🐦@carlospolopmをフォローしてください。
- ハッキングテクニックを共有するために hacktricksリポジトリ と hacktricks-cloudリポジトリ にPRを提出してください。
より詳細な詳細はこの解説にあります。
ここで議論されている技術は、2つの主要なキャッシュタイプ、バック/フォワードキャッシュ(bfcache)とディスクキャッシュの動作と相互作用を理解することに関わります。 bfcacheは、JavaScriptヒープを含むページの完全なスナップショットを保存し、より包括的なスナップショットを保存できるため、バック/フォワードナビゲーションにおいてディスクキャッシュよりも優先されます。一方、ディスクキャッシュは、JavaScriptヒープを含まないWebから取得したリソースを保存し、通信コストを削減するためにバック/フォワードナビゲーションに使用されます。ディスクキャッシュの興味深い側面は、fetch
を使用して取得されたリソースを含むことで、アクセスされたURLリソースがブラウザによってキャッシュからレンダリングされることです。
キーポイント:
- bfcacheはバック/フォワードナビゲーションでディスクキャッシュよりも優先されます。
- ページをbfcacheではなくディスクキャッシュに保存するには、後者を無効にする必要があります。
bfcacheの無効化:
デフォルトでは、Puppeteerはbfcacheを無効にします。これは、Chromiumのドキュメントに記載されている条件と一致しています。bfcacheを無効にする効果的な方法の1つは、RelatedActiveContentsExist
を使用することです。これは、window.opener
への参照を保持するwindow.open()
を使用してページを開くことで達成されます。
動作の再現:
- ウェブページ、例えば
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のbfcacheとChromiumのディスクキャッシュに関する設計文書で参照できます。
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- サイバーセキュリティ企業で働いていますか? HackTricksで会社を宣伝したいですか?または、PEASSの最新バージョンにアクセスしたり、HackTricksをPDFでダウンロードしたいですか?SUBSCRIPTION PLANSをチェックしてください!
- The PEASS Familyを発見しましょう、独占的なNFTsのコレクションです
- 公式PEASS&HackTricksのグッズを手に入れましょう
- 💬 Discordグループに参加するか、telegramグループに参加するか、Twitter 🐦@carlospolopmをフォローしてください。
- ハッキングテクニックを共有するために hacktricksリポジトリ と hacktricks-cloudリポジトリ にPRを提出してください。