hacktricks/pentesting-web/xss-cross-site-scripting/chrome-cache-to-xss.md

56 lines
4.6 KiB
Markdown
Raw Normal View History

# Chrome Cache to XSS
{% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
2023-01-12 13:44:25 +00:00
<details>
<summary>HackTricks'i Destekleyin</summary>
2023-01-12 13:44:25 +00:00
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'i takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
2023-01-12 13:44:25 +00:00
</details>
{% endhint %}
2023-01-12 13:44:25 +00:00
Daha derinlemesine detaylar [**bu yazıda**](https://blog.arkark.dev/2022/11/18/seccon-en/#web-spanote).
2023-01-12 13:44:25 +00:00
Burada tartışılan teknik, iki ana önbellek türünün davranışını ve etkileşimini anlamayı içerir: **back/forward cache (bfcache)** ve **disk cache**. JavaScript yığınını da içeren bir sayfanın tam anlık görüntüsünü saklayan bfcache, daha kapsamlı bir anlık görüntü saklama yeteneği nedeniyle geri/ileri navigasyonlar için disk önbelleğinden önceliklidir. Disk önbelleği ise, JavaScript yığınını içermeden web'den alınan kaynakları saklar ve iletişim maliyetlerini azaltmak için geri/ileri navigasyonlarda kullanılır. Disk önbelleğinin ilginç bir yönü, `fetch` kullanılarak alınan kaynakları içermesidir; bu, erişilen URL kaynaklarının tarayıcı tarafından önbellekten işleneceği anlamına gelir.
2023-01-12 13:44:25 +00:00
2024-02-10 18:14:16 +00:00
### Ana Noktalar:
2023-01-12 13:44:25 +00:00
- **bfcache**, geri/ileri navigasyonlarda disk önbelleğinden önceliklidir.
- Disk önbelleğinde saklanan bir sayfayı kullanmak için, bfcache devre dışı bırakılmalıdır.
2023-01-12 13:44:25 +00:00
### bfcache'i Devre Dışı Bırakma:
2023-01-12 13:44:25 +00:00
Varsayılan olarak, Puppeteer bfcache'i devre dışı bırakır ve bu, Chromium'un belgelerinde listelenen koşullarla uyumludur. bfcache'i devre dışı bırakmanın etkili bir yöntemi, `window.opener` referansını koruyan `window.open()` ile bir sayfa açarak `RelatedActiveContentsExist` kullanmaktır.
2023-01-12 13:44:25 +00:00
### Davranışı Yeniden Üretme:
2023-01-12 13:44:25 +00:00
1. Bir web sayfasını ziyaret edin, örneğin, `https://example.com`.
2. `open("http://spanote.seccon.games:3000/api/token")` komutunu çalıştırın; bu, 500 durum kodu ile bir sunucu yanıtı alır.
3. Yeni açılan sekmede `http://spanote.seccon.games:3000/` adresine gidin. Bu işlem, `http://spanote.seccon.games:3000/api/token` yanıtını disk önbelleği olarak saklar.
4. Geri gitmek için `history.back()` kullanın. Bu işlem, sayfada önbelleğe alınmış JSON yanıtının işlenmesine neden olur.
2023-01-12 13:44:25 +00:00
Disk önbelleğinin kullanıldığını doğrulamak için Google Chrome'daki Geliştirici Araçları kullanılabilir.
2023-01-12 14:56:14 +00:00
bfcache ve disk önbelleği hakkında daha fazla bilgi için, [web.dev'de bfcache](https://web.dev/i18n/en/bfcache/) ve [Chromium'un disk önbelleği tasarım belgeleri](https://www.chromium.org/developers/design-documents/network-stack/disk-cache/) referanslarına bakabilirsiniz.
2023-01-12 14:56:14 +00:00
{% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
2023-01-12 13:44:25 +00:00
<details>
<summary>HackTricks'i Destekleyin</summary>
2023-01-12 13:44:25 +00:00
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'i takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
2023-01-12 13:44:25 +00:00
</details>
{% endhint %}