# Clickjacking
ゼロからヒーローまでAWSハッキングを学ぶ htARTE(HackTricks AWS Red Team Expert)!
HackTricksをサポートする他の方法:
- **HackTricksで企業を宣伝**したい場合や**HackTricksをPDFでダウンロード**したい場合は、[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください!
- [**公式PEASS&HackTricksスワッグ**](https://peass.creator-spring.com)を入手する
- [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を発見し、独占的な[**NFTs**](https://opensea.io/collection/the-peass-family)のコレクションを見つける
- **💬 [Discordグループ](https://discord.gg/hRep4RUj7f)**に参加するか、[telegramグループ](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)をフォローする
- **ハッキングトリックを共有するには、** [**HackTricks**](https://github.com/carlospolop/hacktricks)と[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを提出してください。
\
[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks)を使用して、世界で最も高度なコミュニティツールによって強化された**ワークフローを簡単に構築**および**自動化**できます。\
今すぐアクセスしてください:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
## Clickjackingとは
Clickjacking攻撃では、**ユーザー**が**見えない**か、異なる要素として偽装された**Webページ上の要素**を**クリック**するように**騙されます**。この操作により、ユーザーにとって意図しない結果がもたらされる可能性があります。例えば、マルウェアのダウンロード、悪意のあるWebページへのリダイレクト、資格情報や機密情報の提供、資金の送金、オンラインでの製品購入などが挙げられます。
### フォームの事前入力トリック
時々、**ページを読み込む際にGETパラメータを使用してフォームのフィールドの値を埋める**ことができます。攻撃者はこの動作を悪用してフォームに任意のデータを入力し、クリックジャッキングペイロードを送信してユーザーがボタンを押すように誘導することがあります。
### ドラッグ&ドロップでフォームにデータを入力
ユーザーに**フォームに入力**してもらいたいが、特定の情報(例:メールアドレスや特定のパスワード)を直接求めたくない場合は、ユーザーに**ドラッグ&ドロップ**するように求めることで、制御されたデータを書き込むことができます。[**この例**](https://lutfumertceylan.com.tr/posts/clickjacking-acc-takeover-drag-drop/)を参照してください。
### 基本的なペイロード
```markup
Click me
```
### マルチステップペイロード
```markup
Click me first
Click me next
```
### ドラッグ&ドロップ + クリックペイロード
```markup
.
1. Click and press delete button
3.Click me
2.DRAG ME TO THE RED BOX
```
### XSS + Clickjacking
**XSS攻撃**を特定し、ユーザーがクリックする必要がある場合に**XSSをトリガー**し、ページが**Clickjackingに脆弱**である場合、ユーザーをだましてボタン/リンクをクリックさせることで悪用できます。\
例:\
_アカウントの一部のプライベート詳細(**あなただけが設定および読み取り可能**)に**self XSS**を見つけました。これらの詳細を設定するための**フォーム**が**Clickjackingに脆弱**であり、GETパラメータで**フォーム**を**事前に埋め込む**ことができます。_\
\_\_攻撃者は、そのページに**Clickjacking**攻撃を準備し、**XSSペイロード**を**フォームに事前に埋め込み**、**ユーザー**をだまして**フォームを送信**させることができます。そのため、**フォームが送信され**値が変更されると、**ユーザーがXSSを実行**します。
## Clickjackingの緩和策
### クライアントサイドの防御策
クライアアントサイドで実行されるスクリプトは、Clickjackingを防ぐためのアクションを実行できます:
* アプリケーションウィンドウがメインまたはトップウィンドウであることを確認する。
* すべてのフレームを表示する。
* 不可視フレームでのクリックを防止する。
* Clickjackingの試みを検出してユーザーに警告する。
ただし、これらのフレームブレーキングスクリプトは回避される可能性があります:
* **ブラウザのセキュリティ設定:** 一部のブラウザは、セキュリティ設定やJavaScriptサポートの不足に基づいてこれらのスクリプトをブロックする場合があります。
* **HTML5 iframe `sandbox`属性:** 攻撃者は、`allow-forms`または`allow-scripts`の値を設定し、`allow-top-navigation`を含まない`sandbox`属性を設定することで、フレームブレーキングスクリプトを無効化できます。これにより、iframeがトップウィンドウであるかどうかを検証することが防止されます。
```html
```
### サーバーサイドの防御
#### X-Frame-Options
**`X-Frame-Options` HTTPレスポンスヘッダー**は、``または`