2024-02-06 03:40:01 +00:00
# Chrome Cache to XSS
2023-01-12 13:44:25 +00:00
< details >
2024-02-09 02:33:52 +00:00
< summary > < strong > ゼロからヒーローまでのAWSハッキングを学ぶ< / strong > < a href = "https://training.hacktricks.xyz/courses/arte" > < strong > htARTE( HackTricks AWS Red Team Expert) < / strong > < / a > < strong > ! < / strong > < / summary >
2023-01-12 13:44:25 +00:00
2024-02-09 02:33:52 +00:00
* **サイバーセキュリティ企業**で働いていますか? **HackTricksで企業を宣伝**したいですか?または、**PEASSの最新バージョンにアクセスしたり、HackTricksをPDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS** ](https://github.com/sponsors/carlospolop)をチェックしてください!
* [**The PEASS Family** ](https://opensea.io/collection/the-peass-family )を発見し、独占的な[**NFT**](https://opensea.io/collection/the-peass-family)コレクションをご覧ください
* [**公式PEASS& HackTricksスウォッグ** ](https://peass.creator-spring.com )を手に入れましょう
* **[💬](https://emojipedia.org/speech-balloon/) Discordグループ**に参加するか、[**telegramグループ**](https://t.me/peass)に参加するか、**Twitter**で私をフォローする🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**。**
* **ハッキングトリックを共有するために、**[**hacktricksリポジトリ**](https://github.com/carlospolop/hacktricks) **と** [**hacktricks-cloudリポジトリ** ](https://github.com/carlospolop/hacktricks-cloud ) **にPRを提出してください。**
2023-01-12 13:44:25 +00:00
< / details >
2024-02-09 02:33:52 +00:00
より詳細な詳細は[**この解説**](https://blog.arkark.dev/2022/11/18/seccon-en/#web-spanote)をご覧ください。
2023-01-12 13:44:25 +00:00
2024-02-09 02:33:52 +00:00
ここで議論されている技術は、2つの主要なキャッシュタイプ、**バック/フォワードキャッシュ( bfcache) **と**ディスクキャッシュ**の動作と相互作用を理解することに関わります。 bfcacheは、JavaScriptヒープを含むページの完全なスナップショットを保存し、より包括的なスナップショットを保存できるため、バック/フォワードナビゲーションにおいてディスクキャッシュよりも優先されます。一方、ディスクキャッシュは、JavaScriptヒープを含まないWebから取得したリソースを保存し、通信コストを削減するためにバック/フォワードナビゲーションに使用されます。ディスクキャッシュの興味深い側面は、`fetch`を使用して取得されたリソースが含まれていることであり、アクセスされたURLリソースはブラウザによってキャッシュからレンダリングされます。
2023-01-12 13:44:25 +00:00
2024-02-09 02:33:52 +00:00
### 主なポイント:
2023-01-12 13:44:25 +00:00
2024-02-09 02:33:52 +00:00
- **bfcache**はバック/フォワードナビゲーションにおいてディスクキャッシュよりも優先されます。
- bfcacheを無効にするには、後者を無効にする必要があります。
2023-01-12 13:44:25 +00:00
2024-02-06 03:40:01 +00:00
### bfcacheの無効化:
2023-01-12 13:44:25 +00:00
2024-02-09 02:33:52 +00:00
デフォルトでは、Puppeteerはbfcacheを無効にします。これは、Chromiumのドキュメントに記載されている条件と一致しています。bfcacheを無効にする効果的な方法の1つは、`RelatedActiveContentsExist`を使用することです。これは、`window.opener`への参照を保持する`window.open()`でページを開くことで実現されます。
2023-01-12 13:44:25 +00:00
2024-02-06 03:40:01 +00:00
### 動作の再現:
2023-01-12 13:44:25 +00:00
2024-02-06 03:40:01 +00:00
1. ウェブページ、例えば `https://example.com` にアクセスします。
2024-02-09 02:33:52 +00:00
2. `open("http://spanote.seccon.games:3000/api/token")` を実行し、500のステータスコードでサーバーレスポンスが返されます。
2024-02-07 04:47:05 +00:00
3. 新しく開いたタブで `http://spanote.seccon.games:3000/` に移動します。このアクションにより、`http://spanote.seccon.games:3000/api/token` のレスポンスがディスクキャッシュとしてキャッシュされます。
2024-02-06 03:40:01 +00:00
4. `history.back()` を使用して戻ると、キャッシュされたJSONレスポンスがページ上にレンダリングされます。
2023-01-12 13:44:25 +00:00
2024-02-06 03:40:01 +00:00
ディスクキャッシュが利用されたことを確認するためには、Google ChromeのDevToolsを使用して確認できます。
2023-01-12 14:56:14 +00:00
2024-02-06 03:40:01 +00:00
bfcacheとディスクキャッシュに関する詳細については、それぞれ[web.devのbfcache](https://web.dev/i18n/en/bfcache/)と[Chromiumのディスクキャッシュに関する設計文書](https://www.chromium.org/developers/design-documents/network-stack/disk-cache/)で参照できます。
2024-02-07 04:47:05 +00:00
< details >
2024-02-09 02:33:52 +00:00
< summary > < strong > ゼロからヒーローまでのAWSハッキングを学ぶ< / strong > < a href = "https://training.hacktricks.xyz/courses/arte" > < strong > htARTE( HackTricks AWS Red Team Expert) < / strong > < / a > < strong > ! < / strong > < / summary >
2024-02-07 04:47:05 +00:00
2024-02-09 02:33:52 +00:00
* **サイバーセキュリティ企業**で働いていますか? **HackTricksで企業を宣伝**したいですか?または、**PEASSの最新バージョンにアクセスしたり、HackTricksをPDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS** ](https://github.com/sponsors/carlospolop)をチェックしてください!
* [**The PEASS Family** ](https://opensea.io/collection/the-peass-family )を発見し、独占的な[**NFT**](https://opensea.io/collection/the-peass-family)コレクションをご覧ください
* [**公式PEASS& HackTricksスウォッグ** ](https://peass.creator-spring.com )を手に入れましょう
* **[💬](https://emojipedia.org/speech-balloon/) Discordグループ**に参加するか、[**telegramグループ**](https://t.me/peass)に参加するか、**Twitter**で私をフォローする🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**。**
* **ハッキングトリックを共有するために、**[**hacktricksリポジトリ**](https://github.com/carlospolop/hacktricks) **と** [**hacktricks-cloudリポジトリ** ](https://github.com/carlospolop/hacktricks-cloud ) **にPRを提出してください。**
2024-02-07 04:47:05 +00:00
< / details >