Clickjacking
1. ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅:
Clickjacking - ΡΡΠΎ Π°ΡΠ°ΠΊΠ° Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°, Π² Ρ ΠΎΠ΄Π΅ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΎΠ±ΠΌΠ°Π½ΠΎΠΌ Π·Π°ΡΡΠ°Π²Π»ΡΡΡ ΠΊΠ»ΠΈΠΊΠ½ΡΡΡ Π½Π° Π½Π°Π»ΠΎΠΆΠ΅Π½Π½ΡΠΉ Π½Π° ΡΠΊΡΡΡΡΠΉ ΡΠ°ΠΉΡ ΠΊΠΎΠ½ΡΠ΅Π½Ρ, Π½Π°ΠΆΠ°Π² Π½Π° Π½Π΅ΠΊΠΎΡΠΎΡΡΠΉ ΠΊΠΎΠ½ΡΠ΅Π½Ρ Π½Π° ΡΠ°ΠΉΡΠ΅-ΠΎΠ±ΠΌΠ°Π½ΠΊΠ΅.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ: ΠΠ΅Π±-ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π·Π°Ρ ΠΎΠ΄ΠΈΡ Π½Π° Π»ΠΎΠΆΠ½ΡΠΉ Π²Π΅Π±-ΡΠ°ΠΉΡ ΠΈ Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ, ΡΡΠΎΠ±Ρ ΠΏΡΠΈΠ½ΡΡΡ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΡ cookie. ΠΠ΅ΠΎΡΠΎΠ·Π½Π°Π½Π½ΠΎ Π½Π° ΡΡΠΎΡ Π»ΠΎΠΆΠ½ΡΠΉ Π²Π΅Π±-ΡΠ°ΠΉΡ Π½Π°ΠΊΠ»Π°Π΄ΡΠ²Π°Π΅ΡΡΡ ΠΊΠ½ΠΎΠΏΠΊΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΄Π°Π»ΡΠ΅Ρ ΠΈΡ Π΄Π²ΡΡ ΡΠ°ΠΊΡΠΎΡΠ½ΡΠΉ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Ρ ΡΡΠ·Π²ΠΈΠΌΠΎΠ³ΠΎ Π²Π΅Π±-ΡΠ°ΠΉΡΠ°. ΠΡΠ° Π°ΡΠ°ΠΊΠ° ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ CSRF-Π°ΡΠ°ΠΊΠΈ ΡΠ΅ΠΌ, ΡΡΠΎ ΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π°ΠΆΠ°ΡΡ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ CSRF-Π°ΡΠ°ΠΊΠ° Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΏΠΎΠ΄Π΄Π΅Π»ΠΊΠΈ Π²ΡΠ΅Π³ΠΎ Π·Π°ΠΏΡΠΎΡΠ° Π±Π΅Π· Π²Π΅Π΄ΠΎΠΌΠ° ΠΈΠ»ΠΈ ΡΡΠ°ΡΡΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
2. ΠΠ°ΡΠΈΡΠ½ΡΠ΅ ΡΠ΅Ρ
Π½ΠΈΠΊΠΈ:
ΠΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² Π·Π°ΡΠΈΡΡ ΠΎΡ ΠΊΠ»ΠΈΠΊΠ΄ΠΆΠ΅ΠΊΠΈΠ½Π³Π° Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ. ΠΠΎΡΡΠΎΠΌΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΡ ΡΠ°ΡΡΡ, ΡΡΠΎΠ±Ρ Π½Π°Ρ ΡΠ°ΠΉΡ ΠΠΠΠΠΠΠ Π½Π΅ ΡΡΠ°Π» "ΠΏΡΠΈΠΌΠ°Π½ΠΊΠΎΠΉ" Π΄Π»Ρ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ Π°ΡΠ°ΠΊ.
2.1. Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ X-Frame-Options ΠΈΠ»ΠΈ CSP(frame-ancestors):
ΠΠ°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ HTTP-ΠΎΡΠ²Π΅ΡΠ° X-Frame-Options
ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΡΠΎΠ³ΠΎ, ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΎ Π»ΠΈ Π±ΡΠ°ΡΠ·Π΅ΡΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ Π² <ΡΡΠ΅ΠΉΠΌΠ΅> ΠΈΠ»ΠΈ . Π‘Π°ΠΉΡΡ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π΄Π»Ρ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ΅Π½ΠΈΡ Π°ΡΠ°ΠΊ Clickjacking, Π³Π°ΡΠ°Π½ΡΠΈΡΡΡ, ΡΡΠΎ ΠΈΡ
ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π½Π΅ Π±ΡΠ΄Π΅Ρ Π²ΡΡΡΠ°ΠΈΠ²Π°ΡΡΡΡ Π² Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ°ΠΉΡΡ. Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ X-Frame-Options
Π΄Π»Ρ Π²ΡΠ΅Ρ
ΠΎΡΠ²Π΅ΡΠΎΠ², ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΡ
HTML-ΠΊΠΎΠ½ΡΠ΅Π½Ρ. ΠΠΎΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΎΠΏΡΠΈΠΉ:
DENY: Π·Π°ΠΏΡΠ΅ΡΠ°Π΅Ρ Π»ΡΠ±ΠΎΠΌΡ Π΄ΠΎΠΌΠ΅Π½Ρ ΠΎΠ±ΡΠ°ΠΌΠ»ΡΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅. ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° "DENY" ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ, Π΅ΡΠ»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ Π½Π΅ Π²ΡΡΠ²Π»Π΅Π½Π° ΠΎΡΠΎΠ±Π°Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π² ΠΎΠ±ΡΠ°ΠΌΠ»Π΅Π½ΠΈΠΈ.
SAMEORIGIN: ΡΠ°Π·ΡΠ΅ΡΠ°Π΅Ρ ΠΎΠ±ΡΠ°ΠΌΠ»ΡΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠ°ΠΉΡΠ°.
ALLOW-FROM URI: ΡΠ°Π·ΡΠ΅ΡΠ°Π΅Ρ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡ 'URI' ΠΎΠ±ΡΠ°ΠΌΠ»ΡΡΡ ΡΡΡ ΡΡΡΠ°Π½ΠΈΡΡ.
2.2. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ (CSP):
ΠΠΎΠ»ΠΈΡΠΈΠΊΠ° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ (CSP) - ΡΡΠΎ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π·Π°ΡΠΈΡΡ ΠΎΡ ΡΠ°ΠΊΠΈΡ
Π°ΡΠ°ΠΊ, ΠΊΠ°ΠΊ XSS ΠΈ clickjacking. CSP ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΡΡ Π½Π° Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠ΅ Π² Π²ΠΈΠ΄Π΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° Π²ΠΈΠ΄Π°: Content-Security-Policy: policy
Π³Π΄Π΅ policy - ΡΡΠΎ ΡΡΡΠΎΠΊΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ² ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ, ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π½ΡΡ
ΡΠΎΡΠΊΠ°ΠΌΠΈ Ρ Π·Π°ΠΏΡΡΠΎΠΉ. CSP ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π±ΡΠ°ΡΠ·Π΅ΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½Π½ΡΡ
ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ°Ρ
Π²Π΅Π±-ΡΠ΅ΡΡΡΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΡ Π±ΡΠ°ΡΠ·Π΅Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ Π΄Π»Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΏΠ΅ΡΠ΅Ρ
Π²Π°ΡΠ° Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ.
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌΠ°Ρ Π·Π°ΡΠΈΡΠ° ΠΎΡ ΠΊΠ»ΠΈΠΊΠ΄ΠΆΠ΅ΠΊΠΈΠ½Π³Π° - ΡΡΠΎ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ frame-ancestors Π² ΠΏΠΎΠ»ΠΈΡΠΈΠΊΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Π° frame-ancestors 'none' ΠΏΠΎ ΡΠ²ΠΎΠ΅ΠΌΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π΅ X-Frame-Options deny Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π°. ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Π° frame-ancestors 'self' Π² ΡΠ΅Π»ΠΎΠΌ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π΅ X-Frame-Options sameorigin Π² ΡΠΎΠΌ ΡΠΌΡΡΠ»Π΅, ΡΡΠΎ ΠΎΠ½ΠΈ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° Π΄ΠΎΠΌΠ΅Π½ self. Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ CSP Π²Π΅Π΄Π΅Ρ Π±Π΅Π»ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΡΡΠ΅ΠΉΠΌΠΎΠ² ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΠΆΠ΅ Π΄ΠΎΠΌΠ΅Π½Π°:Content-Security-Policy: frame-ancestors 'self';
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ ΡΡΠ΅ΠΉΠΌΠΈΠ½Π³ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠΌΠΈ ΡΠ°ΠΉΡΠ°ΠΌΠΈ/Π΄ΠΎΠΌΠ΅Π½Π°ΠΌΠΈ: Content-Security-Policy: frame-ancestors normal-website.com;
3. ΠΡΠ²ΠΎΠ΄Ρ:
ΠΠ°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ ΠΎΡΠ²Π΅ΡΠΎΠ² X-Frame-Options ΠΈContent-Security-Policy
ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ, ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΎ Π»ΠΈ Π±ΡΠ°ΡΠ·Π΅ΡΡ Π²ΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΠΈΠ»ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ Π² <inframe>
ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ΅ . ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠ° ΡΠ΅ΠΌΠ° Π±ΠΎΠ»ΡΡΠ΅ ΡΠ²ΡΠ·Π°Π½Π° Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΎΠΉ ΡΠ΅ΡΠ²Π΅ΡΠ°, Π° Π½Π΅ Ρ ΡΠ°ΠΌΠΈΠΌ ΡΡΠ·Π²ΠΈΠΌΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, Π²ΠΎΡ ΡΡΡΠ»ΠΊΠ° Π½Π° Π±ΠΎΠ»Π΅Π΅ "ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠΉ" ΡΠ΅ΡΡΡΡ, Π³Π΄Π΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ·Π½Π°ΡΡ, ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΠΎ Π²Π΅Π΄Π΅Ρ ΡΠ΅Π±Ρ Clickjacking.
Last updated