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 pl
This commit is contained in:
parent
c1ff58c973
commit
bad86d27f3
@ -15,7 +15,7 @@ Czasami możliwe jest **wypełnienie wartości pól formularza za pomocą parame
|
||||
Jeśli potrzebujesz, aby użytkownik **wypełnił formularz**, ale nie chcesz bezpośrednio prosić go o wpisanie jakichś konkretnych informacji (jak e-mail czy konkretne hasło, które znasz), możesz po prostu poprosić go o **Drag\&Drop** coś, co zapisze twoje kontrolowane dane, jak w [**tym przykładzie**](https://lutfumertceylan.com.tr/posts/clickjacking-acc-takeover-drag-drop/).
|
||||
|
||||
### Podstawowy ładunek
|
||||
```markup
|
||||
```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
|
||||
### Wieloetapowy ładunek
|
||||
```css
|
||||
<style>
|
||||
iframe {
|
||||
position:relative;
|
||||
@ -59,7 +59,7 @@ left:210px;
|
||||
<iframe src="https://vulnerable.net/account"></iframe>
|
||||
```
|
||||
### Drag\&Drop + Click ładunek
|
||||
```markup
|
||||
```css
|
||||
<html>
|
||||
<head>
|
||||
<style>
|
||||
@ -91,8 +91,17 @@ background: #F00;
|
||||
|
||||
Jeśli zidentyfikowałeś **atak XSS, który wymaga, aby użytkownik kliknął** na jakiś element, aby **wywołać** XSS, a strona jest **vulnerable to clickjacking**, możesz to wykorzystać, aby oszukać użytkownika do kliknięcia przycisku/linku.\
|
||||
Przykład:\
|
||||
Znalazłeś **self XSS** w niektórych prywatnych szczegółach konta (szczegóły, które **tylko ty możesz ustawić i odczytać**). Strona z **formularzem** do ustawienia tych szczegółów jest **vulnerable** na **Clickjacking** i możesz **prepopulate** **formularz** parametrami GET.\
|
||||
Napastnik mógłby przygotować atak **Clickjacking** na tę stronę **prepopulate** **formularz** ładunkiem **XSS** i **oszukać** **użytkownika** do **przesłania** formularza. Tak więc, **gdy formularz zostanie przesłany** i wartości zostaną zmodyfikowane, **użytkownik wykona XSS**.
|
||||
Znalazłeś **self XSS** w niektórych prywatnych danych konta (dane, które **tylko ty możesz ustawić i odczytać**). Strona z **formularzem** do ustawienia tych danych jest **vulnerable** na **Clickjacking** i możesz **prepopulate** **formularz** parametrami GET.\
|
||||
Napastnik mógłby przygotować atak **Clickjacking** na tę stronę, **prepopulate** **formularz** ładunkiem **XSS** i **oszukać** **użytkownika** do **przesłania** formularza. Tak więc, **gdy formularz zostanie przesłany** i wartości zostaną zmodyfikowane, **użytkownik wykona XSS**.
|
||||
|
||||
### DoubleClickjacking
|
||||
|
||||
Po raz pierwszy [wyjaśnione w tym poście](https://securityaffairs.com/172572/hacking/doubleclickjacking-clickjacking-on-major-websites.html), ta technika wymagałaby od ofiary podwójnego kliknięcia na przycisk na niestandardowej stronie umieszczonej w określonym miejscu i wykorzystania różnic czasowych między zdarzeniami mousedown a onclick, aby załadować stronę ofiary podczas podwójnego kliknięcia, tak aby **ofiara faktycznie kliknęła na legitny przycisk na stronie ofiary**.
|
||||
|
||||
Przykład można zobaczyć w tym filmie: [https://www.youtube.com/watch?v=4rGvRRMrD18](https://www.youtube.com/watch?v=4rGvRRMrD18)
|
||||
|
||||
> [!WARNING]
|
||||
> Ta technika pozwala oszukać użytkownika, aby kliknął w 1 miejsce na stronie ofiary, omijając wszelkie zabezpieczenia przeciwko clickjacking. Dlatego napastnik musi znaleźć **wrażliwe akcje, które można wykonać za pomocą tylko 1 kliknięcia, takie jak monity OAuth akceptujące uprawnienia**.
|
||||
|
||||
## Strategie łagodzenia Clickjacking
|
||||
|
||||
@ -105,10 +114,10 @@ Skrypty wykonywane po stronie klienta mogą podejmować działania, aby zapobiec
|
||||
- Zapobieganie kliknięciom w niewidoczne ramki.
|
||||
- Wykrywanie i informowanie użytkowników o potencjalnych próbach Clickjacking.
|
||||
|
||||
Jednak te skrypty do łamania ramek mogą być obejście:
|
||||
Jednak te skrypty frame-busting mogą być obejście:
|
||||
|
||||
- **Ustawienia zabezpieczeń przeglądarek:** Niektóre przeglądarki mogą blokować te skrypty w zależności od ich ustawień zabezpieczeń lub braku wsparcia dla JavaScript.
|
||||
- **Atrybut `sandbox` HTML5 iframe:** Napastnik może zneutralizować skrypty do łamania ramek, ustawiając atrybut `sandbox` z wartościami `allow-forms` lub `allow-scripts` bez `allow-top-navigation`. To uniemożliwia iframe weryfikację, czy jest górnym oknem, np.,
|
||||
- **Atrybut `sandbox` iframe HTML5:** Napastnik może zneutralizować skrypty frame buster, ustawiając atrybut `sandbox` z wartościami `allow-forms` lub `allow-scripts` bez `allow-top-navigation`. To uniemożliwia iframe weryfikację, czy jest górnym oknem, np.,
|
||||
```html
|
||||
<iframe
|
||||
id="victim_website"
|
||||
@ -128,7 +137,7 @@ Nagłówek odpowiedzi HTTP **`X-Frame-Options`** informuje przeglądarki o legal
|
||||
- `X-Frame-Options: allow-from https://trusted.com` - Tylko określony 'uri' może osadzić stronę.
|
||||
- Zauważ ograniczenia: jeśli przeglądarka nie obsługuje tej dyrektywy, może nie działać. Niektóre przeglądarki preferują dyrektywę CSP frame-ancestors.
|
||||
|
||||
#### Dyrektywa frame-ancestors w Polityce Bezpieczeństwa Treści (CSP)
|
||||
#### Dyrektywa frame-ancestors w polityce bezpieczeństwa treści (CSP)
|
||||
|
||||
Dyrektywa **`frame-ancestors` w CSP** jest zalecaną metodą ochrony przed Clickjacking:
|
||||
|
||||
@ -140,11 +149,11 @@ Na przykład, poniższa CSP zezwala tylko na osadzanie z tej samej domeny:
|
||||
|
||||
`Content-Security-Policy: frame-ancestors 'self';`
|
||||
|
||||
Dalsze szczegóły i złożone przykłady można znaleźć w [dokumentacji frame-ancestors CSP](https://w3c.github.io/webappsec-csp/document/#directive-frame-ancestors) oraz [dokumentacji frame-ancestors CSP Mozilli](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/frame-ancestors).
|
||||
Dalsze szczegóły i złożone przykłady można znaleźć w [dokumentacji frame-ancestors CSP](https://w3c.github.io/webappsec-csp/document/#directive-frame-ancestors) oraz [dokumentacji frame-ancestors Mozilli](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/frame-ancestors).
|
||||
|
||||
### Polityka Bezpieczeństwa Treści (CSP) z `child-src` i `frame-src`
|
||||
### Polityka bezpieczeństwa treści (CSP) z `child-src` i `frame-src`
|
||||
|
||||
**Polityka Bezpieczeństwa Treści (CSP)** to środek bezpieczeństwa, który pomaga w zapobieganiu Clickjacking i innym atakom wstrzykiwania kodu, określając, które źródła przeglądarka powinna zezwolić na ładowanie treści.
|
||||
**Polityka bezpieczeństwa treści (CSP)** to środek bezpieczeństwa, który pomaga w zapobieganiu Clickjacking i innym atakom wstrzykiwania kodu, określając, które źródła przeglądarka powinna zezwolić na ładowanie treści.
|
||||
|
||||
#### Dyrektywa `frame-src`
|
||||
|
||||
@ -180,7 +189,7 @@ top.location = self.location
|
||||
```
|
||||
#### Wykorzystanie tokenów Anti-CSRF
|
||||
|
||||
- **Walidacja tokenów:** Użyj tokenów anti-CSRF w aplikacjach webowych, aby zapewnić, że żądania zmieniające stan są wykonywane celowo przez użytkownika, a nie przez stronę Clickjacked.
|
||||
- **Walidacja tokenów:** Użyj tokenów anti-CSRF w aplikacjach internetowych, aby zapewnić, że żądania zmieniające stan są wykonywane celowo przez użytkownika, a nie przez stronę Clickjacked.
|
||||
|
||||
## References
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user