Chrome Cache to XSS
Last updated
Last updated
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE) GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
Daha derinlemesine detaylar bu yazıda.
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.
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.
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.
Bir web sayfasını ziyaret edin, örneğin https://example.com
.
open("http://spanote.seccon.games:3000/api/token")
komutunu çalıştırın; bu, 500 durum kodu ile bir sunucu yanıtı alır.
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.
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.
Disk önbelleğinin kullanıldığını doğrulamak için Google Chrome'daki DevTools kullanılabilir.
bfcache ve disk önbelleği hakkında daha fazla bilgi için, web.dev'de bfcache ve Chromium'un disk önbelleği tasarım belgeleri referanslarına bakabilirsiniz.
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE) GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)