# Clickjacking {% hint style="success" %} Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Support HackTricks * Check the [**subscription plans**](https://github.com/sponsors/carlospolop)! * **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
{% endhint %}
\ Use [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=clickjacking) to easily build and **automate workflows** powered by the world's **most advanced** community tools.\ Get Access Today: {% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=clickjacking" %} ## What is Clickjacking クリックジャッキング攻撃では、**ユーザー**が**見えない**か、別の要素に偽装された**要素**をウェブページ上で**クリック**するように**騙されます**。この操作は、ユーザーにとって意図しない結果を引き起こす可能性があり、マルウェアのダウンロード、悪意のあるウェブページへのリダイレクト、資格情報や機密情報の提供、金銭の移動、または製品のオンライン購入などが含まれます。 ### Prepopulate forms trick 時には、ページを読み込む際にGETパラメータを使用して**フォームのフィールドの値を埋める**ことが可能です。攻撃者はこの動作を悪用して、任意のデータでフォームを埋め、ユーザーが送信ボタンを押すようにクリックジャッキングペイロードを送信することができます。 ### Populate form with Drag\&Drop ユーザーに**フォームを埋めてもらいたいが、特定の情報(知っているメールアドレスや特定のパスワードなど)を直接書くように頼みたくない**場合、ユーザーに**Drag\&Drop**してもらうように頼むことができます。これにより、あなたが制御するデータが書き込まれます。これは[**この例**](https://lutfumertceylan.com.tr/posts/clickjacking-acc-takeover-drag-drop/)のように行えます。 ### Basic Payload ```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**を見つけました(**あなたしか設定や読み取りができない**詳細)。これらの詳細を設定するための**フォーム**が**クリックジャッキングに脆弱**であり、GETパラメータで**フォーム**を**事前入力**することができます。_\ \_\_攻撃者は、そのページに対して**クリックジャッキング**攻撃を準備し、**XSSペイロード**で**フォーム**を**事前入力**し、**ユーザー**を**フォームを送信**させるように**騙す**ことができます。したがって、**フォームが送信されると**、値が変更され、**ユーザーはXSSを実行することになります**。 ## Clickjackingを軽減するための戦略 ### クライアントサイドの防御 クライアントサイドで実行されるスクリプトは、クリックジャッキングを防ぐためのアクションを実行できます: * アプリケーションウィンドウがメインまたはトップウィンドウであることを確認する。 * すべてのフレームを表示可能にする。 * 見えないフレームへのクリックを防ぐ。 * 潜在的なクリックジャッキングの試みを検出し、ユーザーに警告する。 しかし、これらのフレームバスティングスクリプトは回避される可能性があります: * **ブラウザのセキュリティ設定:** 一部のブラウザは、セキュリティ設定やJavaScriptサポートの欠如に基づいてこれらのスクリプトをブロックする場合があります。 * **HTML5 iframe `sandbox`属性:** 攻撃者は、`allow-forms`または`allow-scripts`の値を持つ`sandbox`属性を設定することでフレームバスタースクリプトを無効化できますが、`allow-top-navigation`は含まれていません。これにより、iframeが自分がトップウィンドウであるかどうかを確認できなくなります。 ```html ``` The `allow-forms` と `allow-scripts` の値は、iframe内でのアクションを有効にし、トップレベルのナビゲーションを無効にします。ターゲットサイトの意図した機能を確保するために、攻撃の種類に応じて `allow-same-origin` や `allow-modals` などの追加の権限が必要になる場合があります。ブラウザのコンソールメッセージは、どの権限を許可するかの指針となります。 ### サーバーサイドの防御 #### X-Frame-Options **`X-Frame-Options` HTTPレスポンスヘッダー**は、ブラウザにページを `` または `