ΠΠΎΠΏΡΡΠΊΠ° Π°ΡΠ°ΠΊΠΈ ΡΠ΅ΡΠ΅Π· xss Π±ΠΈΡΡΠΈΠΊΡ ΡΡΠΎ ΡΡΠΎ
XSS Π°ΡΠ°ΠΊΠ°
XSS (ΠΌΠ΅ΠΆΡΠ°ΠΉΡΠΎΠ²ΡΠΉ ΡΠΊΡΠΈΠΏΡΠΈΠ½Π³) β ΠΎΠ΄Π½Π° ΠΈΠ· ΡΠ°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡΠ΅ΠΉ Π°ΡΠ°ΠΊ Π½Π° Π²Π΅Π±-ΡΠΈΡΡΠ΅ΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅Ρ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ ΡΠ°ΠΉΡΠ° ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΌ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊΠΎΠ² ΠΏΡΠΈ ΠΎΡΠΊΡΡΡΠΈΠΈ ΡΡΡΠ°Π½ΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ.
Π’Π΅ΡΠΌΠΈΠ½ Ρ Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠ³ΠΎ ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ Cross-Site Scripting, Π½ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΏΠΎΠ»ΡΡΠΈΠ» Π°Π±Π±ΡΠ΅Π²ΠΈΠ°ΡΡΡΡ XSS, ΡΡΠΎΠ±Ρ Π½Π΅ Π±ΡΠ»ΠΎ ΠΏΡΡΠ°Π½ΠΈΡΡ Ρ CSS (ΠΊΠ°ΡΠΊΠ°Π΄Π½ΡΠ΅ ΡΠ°Π±Π»ΠΈΡΡ ΡΡΠΈΠ»Π΅ΠΉ).
ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΌΠ΅ΠΆΡΠ°ΠΉΡΠΎΠ²ΡΠΉ ΡΠΊΡΠΈΠΏΡΠΈΠ½Π³
ΠΡΠ½ΠΎΠ²Π½Π°Ρ ΡΠ΅Π»Ρ ΠΌΠ΅ΠΆΡΠ°ΠΉΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠΊΡΠΈΠΏΡΠΈΠ½Π³Π° β ΠΊΡΠ°ΠΆΠ° cookies ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΡΠΊΡΠΈΠΏΡΠ° Ρ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΉ Π²ΡΠ±ΠΎΡΠΊΠΎΠΉ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈΡ Π΄Π»Ρ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π°ΡΠ°ΠΊ ΠΈ Π²Π·Π»ΠΎΠΌΠΎΠ². ΠΠ»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅Ρ Π°ΡΠ°ΠΊΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π½Π΅ Π½Π°ΠΏΡΡΠΌΡΡ, Π° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ Π²Π΅Π±-ΡΠ°ΠΉΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΡΠ΅ΡΠ°ΡΡ ΠΆΠ΅ΡΡΠ²Ρ, ΠΈ Π²Π½Π΅Π΄ΡΡΠ΅Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ JavaScript. Π Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΡΡΠΎΡ ΠΊΠΎΠ΄ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ ΠΊΠ°ΠΊ Π΅Π΄ΠΈΠ½Π°Ρ ΡΠ°ΡΡΡ ΡΠ°ΠΉΡΠ°. ΠΡΠΈ ΡΡΠΎΠΌ ΠΏΠΎΡΠ΅ΡΠ°Π΅ΠΌΡΠΉ ΡΠ΅ΡΡΡΡ ΠΏΠΎ ΡΠ°ΠΊΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΡΡΠ°ΡΡΠ½ΠΈΠΊΠΎΠΌ XSS-Π°ΡΠ°ΠΊΠΈ.
ΠΡΠ»ΠΈ ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡ Ρ SQL-ΠΈΠ½ΡΠ΅ΠΊΡΠΈΡΠΌΠΈ, ΡΠΎ XSS Π±Π΅Π·ΠΎΠΏΠ°ΡΠ΅Π½ Π΄Π»Ρ ΡΠ΅ΡΠ²Π΅ΡΠ°, Π½ΠΎ Π½Π΅ΡΠ΅Ρ ΡΠ³ΡΠΎΠ·Ρ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π·Π°ΡΠ°ΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΡΡΠ° ΠΈΠ»ΠΈ ΡΡΡΠ°Π½ΠΈΡΡ. ΠΠ΄Π½Π°ΠΊΠΎ, Π΅ΡΠ»ΠΈ ΠΊ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊΡ ΠΏΠΎΠΏΠ°Π΄ΡΡ cookies Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ°, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ°ΠΉΡΠΎΠΌ ΠΈ Π΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠΌΡ.
ΠΠ΅ΡΠΎΠ΄ΠΈΠΊΠ° Π°ΡΠ°ΠΊΠΈ ΡΠ΅ΡΠ΅Π· XSS
ΠΠ°ΠΏΡΡΠΊ Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° JavaScript Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ ΡΠΎΠ»ΡΠΊΠΎ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ ΠΆΠ΅ΡΡΠ²Ρ, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ°ΠΉΡ, Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΠΉΠ΄Π΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅ΡΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ ΠΊ XSS. ΠΠ»Ρ ΡΠΎΠ²Π΅ΡΡΠ΅Π½ΠΈΡ Π°ΡΠ°ΠΊΠΈ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΡΠ΅ΡΡΡΡΡ Π½Π° Π½Π°Π»ΠΈΡΠΈΠ΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ ΡΠ΅ΡΠ΅Π· XSS, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠΊΡΠΈΠΏΡΡ ΠΈΠ»ΠΈ ΡΡΡΠ½ΠΎΠΉ ΡΠ΅ΠΆΠΈΠΌ ΠΏΠΎΠΈΡΠΊΠ°. ΠΠ±ΡΡΠ½ΠΎ ΡΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΡΠΎΡΠΌΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΈ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π·Π°ΠΏΡΠΎΡΡ (ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, ΠΏΠΎΠΈΡΠΊ, ΠΎΠ±ΡΠ°ΡΠ½Π°Ρ ΡΠ²ΡΠ·Ρ).
ΠΡΠΎΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎΠ»Π½ΡΠΉ ΡΠ±ΠΎΡ ΡΡΡΠ°Π½ΠΈΡ Ρ ΡΠΎΡΠΌΠ°ΠΌΠΈ Π²Π²ΠΎΠ΄Π°, ΠΈ ΠΊΠ°ΠΆΠ΄Π°Ρ ΡΠΊΠ°Π½ΠΈΡΡΠ΅ΡΡΡ Π½Π° Π½Π°Π»ΠΈΡΠΈΠ΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ Π½Π°Ρ Π΅ΡΡΡ ΡΡΡΠ°Π½ΠΈΡΠ° Β«ΠΠΎΠΈΡΠΊΒ» Π½Π° ΡΠ°ΠΉΡΠ΅. ΠΠ»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ XSS Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π²Π²Π΅ΡΡΠΈ Π·Π°ΠΏΡΠΎΡ:
ΠΡΠ»ΠΈ Π½Π° ΡΠΊΡΠ°Π½Π΅ ΠΏΠΎΡΠ²ΠΈΡΡΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅, Π·Π½Π°ΡΠΈΡ Π²Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ»ΠΈ Π±ΡΠ΅ΡΡ Π² Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ. Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡ Π²Π°ΠΌ ΡΡΡΠ°Π½ΠΈΡΡ Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°ΠΌΠΈ ΠΏΠΎΠΈΡΠΊΠ°. ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅ CMS ΡΠΆΠ΅ Π΄Π°Π²Π½ΠΎ Π»ΠΈΡΠΈΠ»ΠΈΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ, Π½ΠΎ ΠΈΠ·-Π·Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π° Π·Π° ΡΡΠ΅Ρ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΠΈ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ², ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΡΡ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠΌΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ, ΡΠ°Π½ΡΡ Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ XSS Π²ΠΎΠ·ΡΠ°ΡΡΠ°ΡΡ Π² ΡΠ°Π·Ρ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π² Joomla, DLE, Bitrix, WordPress. Π§Π°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ XSS-ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΡΡΡΡ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ Internet Explorer.
ΠΡΠ΅ ΠΎΠ΄ΠΈΠ½ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΠΏΠΎΠΈΡΠΊΠ° β ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΡΠ°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ GET-Π·Π°ΠΏΡΠΎΡΡ. ΠΠΎΠΏΡΡΡΠΈΠΌ, Ρ Π½Π°Ρ Π΅ΡΡΡ ΡΡΡΠ»ΠΊΠ° Π²ΠΈΠ΄Π°: http://site.ru/catalog?p=8
Π Π°Π΄ΡΠ΅ΡΠ½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ Π²ΠΌΠ΅ΡΡΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° (8) Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΡΠΊΡΠΈΠΏΡ β «>, Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΠ΅Π³ΠΎ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΡΡΡΠ»ΠΊΡ ΡΠ°ΠΊΠΎΠ³ΠΎ Π²ΠΈΠ΄Π°: .
ΠΡΠ»ΠΈ ΡΡΡΠ°Π½ΠΈΡΠ° ΠΈΠΌΠ΅Π΅Ρ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ XSS, Π½Π° ΡΠΊΡΠ°Π½Π΅ ΠΏΠΎΡΠ²ΠΈΡΡΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΆΠ΅ ΠΏΠ»Π°Π½Π°, ΠΊΠ°ΠΊ ΠΈ Π² ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅.
ΠΠ»Ρ ΠΏΠΎΠΈΡΠΊΠ° Β«Π΄ΡΡΒ» Π½Π° ΡΠ°ΠΉΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π³ΠΎΡΠΎΠ²ΡΡ ΡΠΊΡΠΈΠΏΡΠΎΠ² ΠΈ Π·Π°ΠΏΡΠΎΡΠΎΠ², ΠΈ Π΅ΡΠ»ΠΈ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ Π½Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ, Π·Π½Π°ΡΠΈΡ ΡΠ΅ΡΡΡΡ Π½Π°Π΄Π΅ΠΆΠ½ΠΎ Π·Π°ΡΠΈΡΠ΅Π½ ΠΎΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ Π°ΡΠ°ΠΊ.
ΠΠ±ΡΠ°Ρ ΠΊΠ»Π°ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ XSS
Π§Π΅ΡΠΊΠΎΠΉ ΠΊΠ»Π°ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π΄Π»Ρ ΠΌΠ΅ΠΆΡΠ°ΠΉΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠΊΡΠΈΠΏΡΠΈΠ½Π³Π° Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ, Π½ΠΎ ΡΠΊΡΠΏΠ΅ΡΡΠ°ΠΌΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌΡ ΠΌΠΈΡΡ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΎ ΡΡΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠΈΠΏΠ°.
Π₯ΡΠ°Π½ΠΈΠΌΡΠ΅ XSS (ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΠ΅). ΠΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ°ΠΌΡΡ ΠΎΠΏΠ°ΡΠ½ΡΡ ΡΠΈΠΏΠΎΠ² ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ΅ΡΠ²Π΅ΡΡ ΠΈ ΡΠΆΠ΅ Ρ Π½Π΅Π³ΠΎ ΡΠΏΡΠ°Π²Π»ΡΡΡ Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ (ΡΠ΄Π°Π»ΡΡΡ, ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ). ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΠΏΡΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΈ ΠΊ ΡΠ°ΠΉΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π·Π°ΡΠ°Π½Π΅Π΅ Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΠΉ ΠΊΠΎΠ΄, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΉ Π² Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅. Π ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΠ°ΠΊΠΈΠΌ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠΌ ΠΏΠΎΠ΄Π²Π΅ΡΠΆΠ΅Π½Ρ ΡΠΎΡΡΠΌΡ, ΠΏΠΎΡΡΠ°Π»Ρ, Π±Π»ΠΎΠ³ΠΈ, Π³Π΄Π΅ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² HTML Π±Π΅Π· ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ. ΠΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΡΠ΅ ΡΠΊΡΠΈΠΏΡΡ Ρ Π»Π΅Π³ΠΊΠΎΡΡΡΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π²ΡΡΡΠΎΠ΅Π½Ρ ΠΊΠ°ΠΊ Π² ΡΠ΅ΠΊΡΡ, ΡΠ°ΠΊ ΠΈ Π² ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ, ΡΠΈΡΡΠ½ΠΊΠΈ.
ΠΡΡΠ°ΠΆΠ΅Π½Π½ΡΠ΅ XSS (Π½Π΅ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΠ΅). Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½Π°Ρ ΡΡΡΠΎΡΠΊΠ° Π²ΡΡΡΡΠΏΠ°Π΅Ρ Π² ΡΠΎΠ»ΠΈ Π·Π°ΠΏΡΠΎΡΠ° ΠΆΠ΅ΡΡΠ²Ρ ΠΊ Π·Π°ΡΠ°ΠΆΠ΅Π½Π½ΠΎΠΌΡ Π²Π΅Π±-ΡΠ°ΠΉΡΡ. Π Π°Π±ΠΎΡΠ°Π΅Ρ ΡΡΠΎΡ ΠΏΡΠΈΠ½ΡΠΈΠΏ ΠΏΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡ Π΅ΠΌΠ΅:
DOM-ΠΌΠΎΠ΄Π΅Π»ΠΈ. Π ΡΡΠΎΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°ΠΊ Ρ ΡΠ°Π½ΠΈΠΌΡΡ XSS, ΡΠ°ΠΊ ΠΈ ΠΎΡΡΠ°ΠΆΠ΅Π½Π½ΡΡ . Π‘ΡΡΡ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ:
ΠΠΈΠ΄Ρ XSS ΠΏΠΎ ΡΠΏΠΎΡΠΎΠ±Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ
Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ ΡΠ΅Π»Ρ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊΠ° β Π·Π°ΠΏΡΡΡΠΈΡΡ Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΡΠΉ ΡΠΊΡΠΈΠΏΡ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ ΠΆΠ΅ΡΡΠ²Ρ, ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π΅ΡΠ΅ ΠΈ Π΄Π²Π° ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠΈΠΏΠ° XSS-Π°ΡΠ°ΠΊ ΠΏΠΎ ΡΠΏΠΎΡΠΎΠ±Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ.
ΠΠ°ΡΡΠΈΠ²Π½ΡΠ΅. ΠΡ ΠΆΠ΅ΡΡΠ²Ρ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅, ΡΡΠΎΠ±Ρ Π²ΡΠ·Π²Π°ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΠΎΠ±ΡΡΠΈΠΉ ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΡΠΉ ΡΠΊΡΠΈΠΏΡ Π² ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠΉ ΡΠΎΡΠΌΠ΅. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΎΡΠΈΠ°Π»ΡΠ½Π°Ρ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠ° ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΏΠΈΡΡΠΌΠ° Ρ ΠΏΡΠΈΠ·ΡΠ²ΠΎΠΌ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅ ΠΈ Π½Π°ΠΆΠ°ΡΡ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΎΠ±Π»Π°ΡΡΡ Π½Π° ΡΠ°ΠΉΡΠ΅. ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π°Π²Π΅Π΄Π΅Ρ Π½Π° Π½ΡΠΆΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΈ ΠΊΠ»ΠΈΠΊΠ½Π΅Ρ ΠΏΠΎ Π½Π΅ΠΌΡ, Π·Π°ΠΏΡΡΡΠΈΡΡΡ Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΡΠΉ ΡΠΊΡΠΈΠΏΡ. ΠΡΠ»ΠΈ ΠΆΠ΅ ΠΆΠ΅ΡΡΠ²Π° Π±Π΅Π·Π΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ, ΠΊΠΎΠ΄ Π½Π΅ Π±ΡΠ΄Π΅Ρ Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°Π½.
ΠΠΊΡΠΈΠ²Π½ΡΠ΅. ΠΠ»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊΡ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΌΠ°Π½ΠΈΠ²Π°ΡΡ ΠΆΠ΅ΡΡΠ²Ρ ΠΏΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΌ ΡΡΡΠ»ΠΊΠ°ΠΌ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΊΠΎΠ΄ Π²ΡΡΡΠ°ΠΈΠ²Π°Π΅ΡΡΡ Π² Π±Π°Π·Π°Ρ Π΄Π°Π½Π½ΡΡ ΠΈΠ»ΠΈ Π² ΠΊΠ°ΠΊΠΎΠΌ-Π½ΠΈΠ±ΡΠ΄Ρ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅. ΠΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ. Π£ ΡΠΎΡΠΌ Π²Π²ΠΎΠ΄Π°, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΠΎΠ±ΡΡΠΈΠΉ, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π°ΠΊΡΠΈΠ²ΠΈΡΡΡΡΠΈΠΉΡΡ ΠΏΡΠΈ ΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΠΈ Π½Π° ΡΡΡ ΡΡΡΠ°Π½ΠΈΡΠΊΡ. Π ΠΈΡΠΎΠ³Π΅ Π²ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ, ΠΏΠ΅ΡΠ΅ΡΠ΅Π΄ΡΠΈΠ΅ ΠΏΠΎ ΡΡΠΎΠΉ ΡΡΡΠ»ΠΊΠ΅, ΡΡΠ°Π½ΡΡ ΠΆΠ΅ΡΡΠ²Π°ΠΌΠΈ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊΠ°.
ΠΠ°ΠΊ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠ°ΠΉΡ Π½Π° Π½Π°Π»ΠΈΡΠΈΠ΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ XSS ΠΈ Π·Π°ΡΠΈΡΠΈΡΡ Π΅Π³ΠΎ
ΠΠ»Ρ Π±ΡΡΡΡΠΎΠΉ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ°ΠΉΡΠ° Π½Π° Π½Π°Π»ΠΈΡΠΈΠ΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ XSS ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π² Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΏΡΠΎΠ²Π΅Π΄ΡΡ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ. Π ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ Π²ΡΠ΅ URL, Π³Π΄Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° ΠΎΡΠΏΡΠ°Π²ΠΊΠ° Π΄Π°Π½Π½ΡΡ ΡΠΎ ΡΡΠΎΡΠΎΠ½Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ (ΡΠΎΡΠΌΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π², ΠΎΠ±ΡΠ°ΡΠ½Π°Ρ ΡΠ²ΡΠ·Ρ, ΠΏΠΎΠΈΡΠΊ). Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ http://xss-scanner.com, Π½ΠΎ Π½Π΅ ΡΡΠΎΠΈΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡΡΡ Π»ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠΌ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ Π±ΡΡΡΡΠΎΠΉ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π·Π°ΠΌΠ΅Π½Ρ ΡΠΏΠ΅ΡΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ Π½Π° ΡΠ°ΠΉΡΠ΅:
ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ²Π΅ΡΠΎΠ² ΠΏΠΎ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ XSS Π½Π° Π²Π°ΡΠ΅ΠΌ ΡΠ°ΠΉΡΠ΅:
🕵 ΠΡΠΈΠΌΠ΅ΡΡ Π°ΡΠ°ΠΊ XSS ΠΈ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΠΈΡ ΠΎΡΠ»Π°Π±Π»Π΅Π½ΠΈΡ
ΠΠ΅ΠΆΡΠ°ΠΉΡΠΎΠ²ΡΠΉ ΡΠΊΡΠΈΠΏΡΠΈΠ½Π³ ( XSS ) β ΡΡΠΎ Π°ΡΠ°ΠΊΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ JavaScript ΡΠ΅ΡΠ΅Π· ΠΎΠ΄ΠΈΠ½ ΡΠ°ΠΉΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π΄ΡΡΠ³ΠΈΠΌ. XSS ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ΅Π½ Π½Π΅ ΠΈΠ·-Π·Π° ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ, Π° ΡΠΊΠΎΡΠ΅Π΅ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ ΠΎΠ½ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠΈΡΡΠ΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠ² Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Π±ΡΠ°ΡΠ·Π΅ΡΠΎΠ² ΠΈ ΠΈΠ·-Π·Π° ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠΉ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΠΎΡΡΠΈ.
Background
ΠΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅ ΡΡΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΠΏΡΠΈΠ²Π΅Π»ΠΎ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ Π±ΡΠ°ΡΠ·Π΅ΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·ΠΈΡΡΡΡ HTML, Π½ΠΎ ΠΈ Π²ΠΌΠ΅ΡΠ°ΡΡ Π² ΠΏΠ°ΠΌΡΡΠΈ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ API Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅, Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠΎΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° (DOM). DOM ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ Π΄ΡΠ΅Π²ΠΎΠ²ΠΈΠ΄Π½ΡΡ ΡΡΡΡΠΊΡΡΡΡ ΡΠ΅Π³ΠΎΠ² HTML, Π° ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ°ΠΉΠ»Π°ΠΌ cookie Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ. Π‘ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΠ»Π°ΡΡ ΠΈΠ· ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΠΎΠΉ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ ΡΡΡΡΠΊΡΡΡΡ Π² ΡΡΡΡΠΊΡΡΡΡ read-write, ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠΌΡ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°.
ΠΠΎΠ»ΠΈΡΠΈΠΊΠ° Same-Origin ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΡΠΌΡΠ³ΡΠ°ΡΡ Π°ΡΠ°ΠΊΠΈ Π½Π° ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ°ΠΉΡΡ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ Π²ΡΡΠ΅. ΠΠ΄Π½Π°ΠΊΠΎ Ρ Π°ΡΠ°ΠΊΠ°ΠΌΠΈ Π½Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ΅ΡΡΡΡΡ, ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ Π²Π²ΠΎΠ΄, ΡΠΈΡΡΠ°ΡΠΈΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠΆΠ½Π΅Π΅ ΠΈΠ·-Π·Π° ΡΠΌΠ΅ΡΠΈΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ΄Π° ΠΈ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅ΠΌΡΠΉ Π²Π²ΠΎΠ΄ Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ΅.
Π Π΅ΡΠ»Π΅ΠΊΡΠΈΠ²Π½ΡΠ΅ ΠΈ Ρ ΡΠ°Π½ΠΈΠΌΡΠ΅ XSS-Π°ΡΠ°ΠΊΠΈ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈΠ°Π»ΡΠ½ΠΎ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ Π½Π° Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΡΠΉ Π²Π²ΠΎΠ΄, ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΠΉ Π½Π° Π±Π΅ΠΊΠ΅Π½Π΄ ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠΈΠΉ ΡΡΠΎΡ Π²Π²ΠΎΠ΄ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ΅ΡΠ²Π΅Ρ. Π Π΅ΡΠ»Π΅ΠΊΡΠΈΠ²Π½ΡΠ΅ XSS ΠΎΠ±ΡΡΠ½ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ Π² Π²ΠΈΠ΄Π΅ Π·Π»ΠΎΠ½Π°ΠΌΠ΅ΡΠ΅Π½Π½ΠΎ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠΉ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊΠΎΠΌ ΡΡΡΠ»ΠΊΠΈ, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ Π·Π°ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ ΠΆΠ΅ΡΡΠ²Π°. Π₯ΡΠ°Π½ΠΈΠΌΡΠ΅ XSS ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΡΡ, ΠΊΠΎΠ³Π΄Π° Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊ Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΡΠΉ Π²Π²ΠΎΠ΄. ΠΡΠ°ΠΊΠΈ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ DOM ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΡΠ΅ΠΌ, ΡΡΠΎ ΠΎΠ½ΠΈ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΡΡ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΈ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΡΠΉ Π²Π²ΠΎΠ΄, ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΡΡΡΠΈΠΉ DOM.
ΠΡΠΈΠΌΠ΅ΡΡ
Π Π΅ΡΠ»Π΅ΠΊΡΠΈΠ²Π½ΡΠ΅ Π°ΡΠ°ΠΊΠΈ XSS
ΠΠΈΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΠΏΡΠΎΡΡΠΎΠ΅ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Go, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΡΡΠ°ΠΆΠ°Π΅Ρ ΡΠ²ΠΎΠΉ Π²Π²ΠΎΠ΄ (Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΡΡΠΎ Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΡΠΉ ΡΠΊΡΠΈΠΏΡ) ΠΎΠ±ΡΠ°ΡΠ½ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΠΎΡ ΡΠ°Π½ΠΈΠ² Π΅Π³ΠΎ Π² ΡΠ°ΠΉΠ»Π΅ xss1.go ΠΈ Π·Π°ΠΏΡΡΡΠΈΠ² go run xss1.go.
Π€ΡΠ°Π³ΠΌΠ΅Π½Ρ 3: ΠΡΠΈΠΌΠ΅Ρ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ ΡΠ΅ΡΠ»Π΅ΠΊΡΠΈΠ²Π½ΠΎΠΉ (ΠΎΡΡΠ°ΠΆΠ΅Π½Π½ΠΎΠΉ) XSS-Π°ΡΠ°ΠΊΠΎΠΉ.
Π§ΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ XSS-Π°ΡΠ°ΠΊΡ, ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ ΠΏΠΎ ΡΡΠ·Π²ΠΈΠΌΠΎΠΌΡ URL-Π°Π΄ΡΠ΅ΡΡ Π½ΠΈΠΆΠ΅.
ΠΠ·Π³Π»ΡΠ½ΠΈΡΠ΅ Π½Π° ΠΈΡΡΠΎΡΠ½ΠΈΠΊ: ΡΠ΅ΡΠ²Π΅Ρ Π²Π΅ΡΠ½ΡΠ» Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π²ΠΎ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ΅ 4. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΠΊΠ°ΠΊ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° ΠΈ Π΄Π°Π½Π½ΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΡΠΈ ΡΡΠΎΠΉ Π°ΡΠ°ΠΊΠ΅.
Π€ΡΠ°Π³ΠΌΠ΅Π½Ρ 4: ΠΡΠΈΠΌΠ΅Ρ Π²ΡΠ²ΠΎΠ΄Π° ΡΡΠ·Π²ΠΈΠΌΠΎΠ³ΠΎ Π΄Π»Ρ XSS Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
Π₯ΡΠ°Π½ΠΈΠΌΡΠ΅ XSS-Π°ΡΠ°ΠΊΠΈ
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠ°Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠ»Π»ΡΡΡΡΠΈΡΡΠ΅Ρ ΡΡΠΎΡ Π²ΠΈΠ΄ Π°ΡΠ°ΠΊ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΡΠ°ΠΉΠ»Π΅ xss2.go ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ go run xss2.go.
Π€ΡΠ°Π³ΠΌΠ΅Π½Ρ 5: Π₯ΡΠ°Π½ΠΈΠΌΠ°Ρ XSS-Π°ΡΠ°ΠΊΠ°.
ΠΡΠ°ΠΊΠ° Π΄Π΅Π»ΠΈΡΡΡ Π½Π° Π΄Π²Π΅ ΡΠ°Π·Ρ:
XSS-Π°ΡΠ°ΠΊΠΈ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ DOM
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°ΡΡΠ΅Π³ΠΎ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΊΠΎΠ½ΡΠ΅Π½Ρ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠΎΠ΄ ΡΠΎΡ ΠΆΠ΅, ΡΡΠΎ ΠΈ Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Ρ ΡΠ΅ΡΠ»Π΅ΠΊΡΠΈΠ²Π½ΡΠΌΠΈ XSS, Π½ΠΎ Π·Π΄Π΅ΡΡ Π°ΡΠ°ΠΊΠ° Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΡΠ°ΠΉΠ»Π΅ xss3.go ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ Π΅Π³ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ go run xss3.go.
Π€ΡΠ°Π³ΠΌΠ΅Π½Ρ 6: ΠΡΠΈΠΌΠ΅Ρ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ XSS-Π°ΡΠ°ΠΊΠΎΠΉ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ DOM.
Π€ΡΠ°Π³ΠΌΠ΅Π½Ρ 7: ΠΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΏΡΠΈΠΌΠ΅Ρ Π°ΡΠ°ΠΊΠΈ XSS Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ DOM.
Π‘Π²ΡΠ·Π°Π½Π½ΡΠ΅ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π°ΡΠ°ΠΊ
Content-type
ΠΡΠ΅ΠΌΡ Π²ΠΈΠ½ΠΎΠΉ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½Π°Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΡΠΈΠΏΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΠΎΡΠ²Π΅ΡΠΎΠ² HTTP. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΡΠΈ ΠΊΠ°ΠΊ Π½Π° ΡΡΠΎΠ²Π½Π΅ Π±Π΅ΠΊΠ΅Π½Π΄Π° (ΠΎΡΠ²Π΅Ρ ΠΈΠΌΠ΅Π΅Ρ Π½Π΅Π²Π΅ΡΠ½ΡΠΉ Π½Π°Π±ΠΎΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² Content-Type), ΡΠ°ΠΊ ΠΈ ΠΏΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠ΅ Π±ΡΠ°ΡΠ·Π΅ΡΠ° ΠΏΡΠΎΡΠ½ΠΈΡΡΠ΅ΡΠΈΡΡ ΡΠΈΠΏ MIME. Internet Explorer Π±ΡΠ» ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π²ΠΎΡΠΏΡΠΈΠΈΠΌΡΠΈΠ² ΠΊ ΡΡΠΎΠΌΡ, ΠΈ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ»ΡΠΆΠ±Π° Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ: Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ Π·Π°Π³ΡΡΠ·ΠΈΡΡ JavaScript Π²ΠΌΠ΅ΡΡΠΎ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ. ΠΡΠ°ΡΠ·Π΅Ρ Π²ΠΈΠ΄ΠΈΡ, ΡΡΠΎ ΡΠΈΠΏ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° Π±ΡΠ» ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π½Π° image/jpg, Π½ΠΎ ΠΏΠ΅ΠΉΠ»ΠΎΠ°Π΄ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΊΡΠΈΠΏΡ β ΠΎΠ½ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ, ΡΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Π°ΡΠ°ΠΊΠ΅ XSS.
Urlschemes
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΈΠΏ Π°ΡΠ°ΠΊΠΈ β Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΡΠ΅ΡΠ΅Π· URL ΡΠΎ ΡΡ Π΅ΠΌΠΎΠΉ JavaScript. ΠΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠΌ Π²Π΅Π±-ΡΠ°ΠΉΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅Π»Ρ ΡΡΡΠ»ΠΊΠΈ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π²ΠΎ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ΅ 8. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊ ΡΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ URL, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΠΉ Π½Π΅ΠΊΠΈΠΉ JavaScript Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π½Π°ΡΠ΅ΠΉ ΡΡ Π΅ΠΌΡ.
Π§ΡΠΎΠ±Ρ ΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΡΠΈΠΏ Π°ΡΠ°ΠΊΠΈ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΡΠ°ΠΉΠ»Π΅ xss4.go, Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ go run xss4.go ΠΈ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅ http://localhost:8080?link=javascript:alert(1).
Π€ΡΠ°Π³ΠΌΠ΅Π½Ρ 8: XSS-Π°ΡΠ°ΠΊΠ°, Π²Π²Π΅Π΄Π΅Π½Π½Π°Ρ ΡΠ΅ΡΠ΅Π· ΡΡ Π΅ΠΌΡ URL-Π°Π΄ΡΠ΅ΡΠΎΠ².
ΠΠ·Π±Π°Π²Π»Π΅Π½ΠΈΠ΅
ΠΠ΄ΠΈΠ½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° ΡΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ, ΠΈΠ½Π°ΡΠ΅ XSS Π½Π΅ Π±ΡΠ» Π±Ρ ΡΠ°ΠΊΠΎΠΉ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ. Π€ΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½Π°Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΠ·Π²Π°Π½Π° ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΠ΄ΠΎΠΌ ΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ. Π‘ΠΌΡΠ³ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠΉ XSS ΠΎΠ±ΡΡΠ½ΠΎ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΎΡΠΈΡΡΠΊΡ Π²Ρ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ (Π½ΡΠΆΠ½ΠΎ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ ΠΎΠ½ΠΈ Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΠΊΠΎΠ΄Π°), ΡΠΊΡΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΡ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ (ΠΎΠ½ΠΈ ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΠΊΠΎΠ΄) ΠΈ ΡΠ΅ΡΡΡΡΠΊΡΡΡΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΊΠΎΠ΄ Π·Π°Π³ΡΡΠΆΠ°Π»ΡΡ ΠΈΠ· ΡΡΡΠΎΠ³ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΊΠΎΠ½Π΅ΡΠ½ΡΡ ΡΠΎΡΠ΅ΠΊ.
ΠΠ°Π»ΠΈΠ΄Π°ΡΠΈΡ Π²Ρ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ
ΠΠ°Π»ΠΈΠ΄Π°ΡΠΈΡ Π΄Π°Π½Π½ΡΡ β ΡΠ»ΠΎΠΆΠ½Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°. ΠΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° ΠΈΠ»ΠΈ ΡΠ΅Ρ Π½ΠΈΠΊΠΈ Π΄Π»Ρ Π²ΡΠ΅Ρ ΡΠΈΡΡΠ°ΡΠΈΠΉ. ΠΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΎ ΡΡΠ΅Π±ΠΎΠ²Π°Π»ΠΎ ΠΎΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΏΡΠΎΠ΄ΡΠΌΠ°ΡΡ ΡΠΈΠΏ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅ΠΌΡΡ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΡΠ΄ΠΎΠ±Π½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ, Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΡ Π²Π°Π»ΠΈΠ΄Π°ΡΠΎΡ.
Π₯ΠΎΡΠΎΡΠΈΠΉ ΡΠΎΠ½ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Go ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ Π½Π΅ ΠΈΠΌΠ΅ΡΡ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°Ρ Π·Π°ΠΏΡΠΎΡΠΎΠ² HTTP, Π° Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΡ Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π²Ρ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ . ΠΠ°ΡΠ΅ΠΌ Π΄Π°Π½Π½ΡΠ΅ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ Π² ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ Π»ΠΎΠ³ΠΈΠΊΡ ΡΡΡΡΠΊΡΡΡΡ. ΠΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ ΠΏΡΠΎΡΡΡΠΌΠΈ ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ ΡΠ΄ΠΎΠ±Π½ΠΎΠ΅ ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΡΡΠΈ ΠΎΡΠΈΡΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ .
ΠΠ° ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ΅ 9 ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°ΡΡ saveHandler Π΄Π»Ρ ΠΏΡΠΈΠ΅ΠΌΠ° ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ASCII [A-Za-z\.].
Π€ΡΠ°Π³ΠΌΠ΅Π½Ρ 9: ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² HTTP-Π·Π°ΠΏΡΠΎΡΠΎΠ² Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ .
ΠΠΎΠΆΠ΅Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡΡΡ, ΡΡΠΎ ΡΡΠΎ ΠΈΠ·Π»ΠΈΡΠ½Π΅Π΅ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΉΡΡΠ²ΠΎ, Π½ΠΎ ΡΠ°Ρ-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»ΡΡΠ΅, ΡΠ΅ΠΌ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΉ Π½Π°Π±ΠΎΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ². ΠΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅ΠΌΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ Π΄Π°Π½Π½ΡΠ΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Ρ: Π°Π΄ΡΠ΅ΡΠ°, Π½ΠΎΠΌΠ΅ΡΠ° ΡΠ΅Π»Π΅ΡΠΎΠ½ΠΎΠ², ΠΏΠΎΡΡΠΎΠ²ΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΡ ΠΈ ΡΠΎΠΌΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ Π²Π΅ΡΠΈ ΠΌΠΎΠ³ΡΡ ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½Ρ.
ΠΠΊΡΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
ΠΠ΄Π½ΠΎ ΠΈ ΡΠΎ ΠΆΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½Π΅Π΅ (Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π² Π½Π΅Π³ΠΎ Π±ΡΠ»Π° ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½Π° ΠΈΠ½ΡΠ΅ΠΊΡΠΈΡ ΠΊΠΎΠ΄Π°), Π΅ΡΠ»ΠΈ ΡΠΊΡΠ°Π½ΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ Π½Π΅Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠ΅ Π²ΡΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅. ΠΠΌΠ΅Π½Π½ΠΎ ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΠΏΠ°ΠΊΠ΅Ρ html/template Π² Go. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ·ΡΠΊΠ° ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΎ-Π·Π°Π²ΠΈΡΠΈΠΌΠΎΠ³ΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡΠ° Π΄Π»Ρ ΡΠΊΡΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ Π΄ΠΎ ΠΈΡ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΌΠ΅Π½ΡΡΠΈΡ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠ° html/template. Π‘ΠΎΡ ΡΠ°Π½ΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΡΠ°ΠΉΠ»Π΅ xss5.go, Π° Π·Π°ΡΠ΅ΠΌ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ go run xss5.go.
Π€ΡΠ°Π³ΠΌΠ΅Π½Ρ 10: ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΊΡΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΡ Ρ ΡΠ°Π½ΠΈΠΌΡΡ XSS-Π°ΡΠ°ΠΊ.
ΠΡΠΊΡΠΎΠΉΡΠ΅ ΠΊΠΎΠ½ΡΠΎΠ»Ρ Π±ΡΠ°ΡΠ·Π΅ΡΠ° ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Π½Π° ΡΠ»Π΅ΠΌΠ΅Π½Ρ li Π² DOM. ΠΠ½ΡΠ΅ΡΠ΅Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ Π΄Π²Π° ΡΠ²ΠΎΠΉΡΡΠ²Π°: innerHTML ΠΈ innerText.
Π€ΡΠ°Π³ΠΌΠ΅Π½Ρ 11: ΠΡΠΎΠ²Π΅ΡΠΊΠ° DOM ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠΊΡΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΠΊΠ°ΠΊ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΊΡΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΄Π°Π»ΠΎΡΡ ΡΠ΅ΡΠΊΠΎ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ ΠΊΠΎΠ΄ ΠΈ Π΄Π°Π½Π½ΡΠ΅.
Content Security Policy
ΠΠ°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ CSP Π΄Π»Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΡ Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΎΡΡΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅ΠΉ β Π½Π°ΡΠ½ΠΈΡΠ΅ Ρ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π·Π°ΠΏΡΠ΅ΡΠ°Π΅Ρ Π²ΡΠ΅ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΈ, Π° Π·Π°ΡΠ΅ΠΌ ΡΠ°Π·ΡΠ΅ΡΠΈΡΠ΅ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΈΡ Π½Π°Π±ΠΎΡ. ΠΠ΄Π½Π°ΠΊΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΉ CSP Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΈΡ ΡΠ°ΠΉΡΠΎΠ² ΡΠΆΠ΅ Π½Π΅ ΡΠ°ΠΊ ΠΏΡΠΎΡΡΠΎ. ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΉΡ Π½Π°ΡΠΈΠ½Π°Π΅Ρ Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΠΊΠΎΠ½ΡΠ΅Π½Ρ ΠΈΠ· Π²Π½Π΅ΡΠ½ΠΈΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ², CSP ΡΠ°Π·Π΄ΡΠ²Π°Π΅ΡΡΡ ΠΈ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π³ΡΠΎΠΌΠΎΠ·Π΄ΠΊΠΈΠΌ. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΠ΄Π°ΡΡΡΡ ΠΈ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ unsafe-inline, ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠ°Π·ΡΡΡΠ°Ρ ΡΠ΅ΠΎΡΠΈΡ CSP.
Π§ΡΠΎΠ±Ρ ΡΠΏΡΠΎΡΡΠΈΡΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ CSP, Π² CSP3 Π²Π²ΠΎΠ΄ΠΈΡΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π° strict-dynamic. ΠΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π±ΠΎΠ»ΡΡΠΎΠΉ Π±Π΅Π»ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ Π½Π°Π΄Π΅ΠΆΠ½ΡΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ², ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ (nonce) ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅ΡΡΡ ΡΡΡΠ°Π½ΠΈΡΠ°. ΠΡΠΎΡ nonce ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°ΠΌΠΈ ΡΡΡΠ°Π½ΠΈΡΡ ΠΈ Π²ΡΡΡΠΎΠ΅Π½ Π² ΡΠ΅Π³ script, ΡΡΠΎ Π·Π°ΡΡΠ°Π²Π»ΡΠ΅Ρ Π±ΡΠ°ΡΠ·Π΅ΡΡ Π΄ΠΎΠ²Π΅ΡΡΡΡ ΡΡΠΈΠΌ ΡΠΊΡΠΈΠΏΡΠ°ΠΌ Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ nonce, Π° ΡΠ°ΠΊΠΆΠ΅ Π»ΡΠ±ΡΠΌ ΡΠΊΡΠΈΠΏΡΠ°ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ Π·Π°Π³ΡΡΠ·ΠΈΡΡ. ΠΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π²Π½ΠΎΡΠΈΡΡ ΡΠΊΡΠΈΠΏΡΡ Π² Π±Π΅Π»ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΈ ΠΏΡΡΠ°ΡΡΡΡ Π²ΡΡΡΠ½ΠΈΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΠΈ ΠΎΠ½ΠΈ Π·Π°Π³ΡΡΠΆΠ°ΡΡ, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΠΎΠΏΠΎΠ»Π½ΡΡΡ Π±Π΅Π»ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎ, Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π²Π½Π΅ΡΡΠΈ Π² Π±Π΅Π»ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌΡΠΉ ΡΠΊΡΠΈΠΏΡ Π²Π΅ΡΡ Π½Π΅Π³ΠΎ ΡΡΠΎΠ²Π½Ρ.
Π€ΡΠ°Π³ΠΌΠ΅Π½Ρ 12: ΠΡΠΈΠΌΠ΅Ρ CSP, ΡΠΌΡΠ³ΡΠ°ΡΡΠ΅Π³ΠΎ XSS-Π°ΡΠ°ΠΊΡ.
Π§ΡΠΎΠ±Ρ ΠΏΠΎΠΏΡΡΠ°ΡΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅: http://localhost:8080 ΠΈ ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΠΊΠ°ΠΊ ΠΈ ΡΠ°Π½ΡΡΠ΅. ΠΡΠ° Π°ΡΠ°ΠΊΠ° ΡΡΠ°Π±ΠΎΡΠ°Π»Π° Π±Ρ ΠΈ Π±Π΅Π· CSP, Π½ΠΎ ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ CSP Π½Π΅ Π΄ΠΎΠΏΡΡΠΊΠ°Π΅Ρ inline-ΡΠΊΡΠΈΠΏΡΠΎΠ², Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊΠΎΠΉ Π²ΡΠ²ΠΎΠ΄ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Π±ΡΠ°ΡΠ·Π΅ΡΠ°:
ΠΠΎΡΠ΅ΠΌΡ ΡΡΠ΅Π½Π°ΡΠΈΠΉ Π½Π΅ Π·Π°ΠΏΡΡΡΠΈΠ»ΡΡ? Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ CSP ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅.
Π€ΡΠ°Π³ΠΌΠ΅Π½Ρ 13: ΠΠ°Π·ΠΎΠ²ΡΠΉ CSP. Nonce ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ°.
ΠΡΠ½ΠΎΠ²Π½Π°Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ nonce ΠΈ ΠΈΠ½ΠΆΠ΅ΠΊΡΠΈΡΡ Π΅Π³ΠΎ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΡΠ°Π±Π»ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ ΠΊΠΎ Π²ΡΠ΅ΠΌ Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌΡΠΌ ΡΡΡΠ°Π½ΠΈΡΠ°ΠΌ.
Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΡ
Content-Type
ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΡΠ²ΠΎΠΉ Content-Type, Π½ΠΎ ΠΈ ΡΠ»Π΅Π΄ΠΈΡΡ, ΡΡΠΎΠ±Ρ Π±ΡΠ°ΡΠ·Π΅ΡΡ Π½Π΅ ΠΏΡΡΠ°Π»ΠΈΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠΈΠΏ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ : X-Content-Type-Options: nosniff.
Virtual doms
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΡΠ»ΠΈ Π²Ρ Π΄ΠΎΡΠΈΡΠ°Π»ΠΈ Π΄ΠΎ ΠΊΠΎΠ½ΡΠ°, Ρ Π²Π°Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΠ²ΠΈΡΡΡΡ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π±ΡΠ°ΡΠ·Π΅ΡΡ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ XSS ΠΈ Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΠΊΠ°ΠΊ ΠΎΡ Π½ΠΈΡ ΠΈΠ·Π±Π°Π²ΠΈΡΡΡΡ. XSS ΡΡΡΠ΄Π½ΠΎ ΠΈΡΠΊΠΎΡΠ΅Π½ΠΈΡΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ Π²ΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅ ΠΈ Π²ΡΠ΅ ΡΠ»ΠΎΠΆΠ½Π΅Π΅. ΠΡΠΈΠΌΠ΅Π½ΡΡ ΡΠΏΠΎΠΌΡΠ½ΡΡΡΠ΅ Π² ΡΡΠ°ΡΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΆΠΈΠ·Π½Ρ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊΠΎΠ² ΡΡΡΠ΄Π½ΠΎΠΉ.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ XSS-ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ ΠΈ ΠΊΠ°ΠΊ ΡΠ΅ΡΡΠΈΡΠΎΠ²ΡΠΈΠΊΡ Π½Π΅ ΠΏΡΠΎΠΏΡΡΡΠΈΡΡ Π΅Π΅
ΠΠΎ ΠΌΠΎΠ΅ΠΌΡ Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²ΡΠΈΠΊΠΎΠ² ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ ΡΠ»ΡΡΠ°Π»ΠΈ ΡΠ°ΠΊΠΎΠ΅ ΠΏΠΎΠ½ΡΡΠΈΠ΅, ΠΊΠ°ΠΊ XSS-ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ. ΠΠΎ ΠΌΠ°Π»ΠΎ ΠΊΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΡΡΠΎ ΠΈ Π½Π° ΠΏΠ°Π»ΡΡΠ°Ρ ΡΠ°ΡΡΠΊΠ°Π·Π°ΡΡ Π½Π° ΡΠΎΠ±Π΅ΡΠ΅Π΄ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡΠΎ Π½Π΅Π΅. ΠΠ»ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π²Π΅Π±-ΡΠ°ΠΉΡ Π½Π° Π½Π°Π»ΠΈΡΠΈΠ΅ ΡΡΠΎΠΉ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ. ΠΠ°Π²Π°ΠΉΡΠ΅ Π²ΠΌΠ΅ΡΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌΡΡ ΡΠΎ Π²ΡΠ΅ΠΌ ΡΡΠΈΠΌ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΈ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΡΠ°ΠΌΠΈ Π½Π°ΠΉΡΠΈ Π½Π΅ΡΠ»ΠΎΠΆΠ½ΡΡ XSS-ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ Π½Π° Π΄Π΅ΠΌΠΎ-ΡΡΡΠ°Π½ΠΈΡΠ΅, ΠΊΠΎΡΠΎΡΡΡ Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΠ» ΠΊ ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅.
ΠΡΠ»ΠΈ Π²Ρ Π³ΡΡΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΈ Π½Π° ΡΠ°Π·-Π΄Π²Π° ΡΡΠ°ΡΡΠ²ΡΠ΅ΡΠ΅ Π² Π±Π°ΡΠ½ΡΠΈ-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ ΠΊΡΡΠΏΠ½ΡΡ IT-ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ, Π° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π½Π°ΠΉΠ΄Π΅Π½Π½ΡΡ Π²Π°ΠΌΠΈ XSS ΠΈΡΡΠΈΡΠ»ΡΠ΅ΡΡΡ Π΄Π΅ΡΡΡΠΊΠ°ΠΌΠΈ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΡΠΎΡΠ½ΡΠΌΠΈ β ΠΌΠΎΠΆΠ½ΠΎ ΡΠΌΠ΅Π»ΠΎ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡΡ ΠΌΠΈΠΌΠΎ ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠΈ. ΠΡΠ»ΠΈ ΠΆΠ΅ Π²Ρ Π½ΠΎΠ²ΠΈΡΠΎΠΊ Π² ΡΠ΅ΠΌΠ΅ ΠΈ ΡΠΎΠ»ΡΠΊΠΎ Π½Π°ΡΠΈΠ½Π°Π΅ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°ΡΡΡΡ ΠΏΠΎΠΈΡΠΊΠΎΠΌ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ β Π΄ΠΎΠ±ΡΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ΄ ΠΊΠ°Ρ.
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅
XSS (Π°Π½Π³Π». Cross-Site Scripting β Β«ΠΌΠ΅ΠΆΡΠ°ΠΉΡΠΎΠ²ΡΠΉ ΡΠΊΡΠΈΠΏΡΠΈΠ½Π³Β») β Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½Π°Ρ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ, ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ Π½Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΠ΅ ΡΡΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠ°, Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊΡ ΡΠ΄Π°Π΅ΡΡΡ Π²Π½Π΅Π΄ΡΠΈΡΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ JavaScript-ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ Π±ΡΠ» ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ. ΠΡΠΎΡ ΠΊΠΎΠ΄ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° ΠΆΠ΅ΡΡΠ²Ρ (ΠΎΠ±ΡΡΠ½ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ) Π±ΡΠ΄ΡΡ Π·Π°Ρ ΠΎΠ΄ΠΈΡΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΡΠ΄Π° ΡΡΠΎΡ ΠΊΠΎΠ΄ Π±ΡΠ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½. Π Π΄Π°Π»ΡΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² ΡΠ°Π·Π²ΠΈΡΠΈΡ.
ΠΠ΅ΡΠ²ΡΠΉ: Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊΡ ΡΠ΄Π°ΡΡΡΡ Π·Π°ΠΏΠΎΠ»ΡΡΠΈΡΡ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΎΠ½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈ Π²ΠΎΠΉΡΠΈ Π² Π΅Π³ΠΎ Π°ΠΊΠΊΠ°ΡΠ½Ρ.
ΠΡΠΎΡΠΎΠΉ: Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅Π·Π°ΠΌΠ΅ΡΠ½ΠΎ Π΄Π»Ρ ΠΆΠ΅ΡΡΠ²Ρ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²ΠΈΡΡ Π΅Π³ΠΎ Π½Π° Π΄ΡΡΠ³ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ-ΠΊΠ»ΠΎΠ½. ΠΡΠ° ΡΡΡΠ°Π½ΠΈΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΠΎ ΡΠΎΠΉ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ°ΡΡΡΠΈΡΡΠ²Π°Π» ΠΎΠΊΠ°Π·Π°ΡΡΡΡ. ΠΠΎ Π²ΠΎΡ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°ΡΡ ΠΎΠ½Π° Π±ΡΠ΄Π΅Ρ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊΡ. ΠΡΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π΅ Π·Π°ΠΌΠ΅ΡΠΈΡ ΠΏΠΎΠ΄ΠΌΠ΅Π½Ρ ΠΈ Π½Π° ΡΡΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅ Π²Π²Π΅Π΄Π΅Ρ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ sensitive data, ΡΠΎ Π΅ΡΡΡ Π»ΠΈΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΠΎΠ½ΠΈ ΠΎΠΊΠ°ΠΆΡΡΡΡ Ρ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊΠ°.
Π’ΡΠ΅ΡΠΈΠΉβ¦ Π΄Π° Π² ΠΎΠ±ΡΠ΅ΠΌ-ΡΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅Π³ΠΎ Π΅ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠ΄ΡΠΌΠ°ΡΡ. ΠΠΎΡΡΠΈ Π²ΡΠ΅, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ JavaScript, ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌ Π΄Π»Ρ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊΠ°. Π§ΡΡΡ Π½ΠΈΠΆΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ°ΠΊΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ². Π ΠΏΠΎΠΊΠ° Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΡΡΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎΠ±ΡΡΠ΄ΠΈΡΡ, ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΡΡΡΠΎΠ΅Π½Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ. Π ΠΏΠΎΡΠ΅ΠΌΡ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊΡ ΡΠ΄Π°Π΅ΡΡΡ Π²Π½Π΅Π΄ΡΠΈΡΡ ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄ Π² ΡΡΠΆΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±Π΅Π· Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π΅Π³ΠΎ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠ°ΠΌ.
ΠΠ΅Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅. ΠΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π΄Π°Π»Π΅Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π² ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠ΅Π»ΡΡ . Π’Π΅ΡΡΠΈΡΠΎΠ²ΡΠΈΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΌΠ΅ΡΡ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΡΠ²ΠΎΠ΅ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ XSS-ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ Π½Π° ΡΡΠΆΠΈΡ ΡΠ΅ΡΡΡΡΠ°Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅Π·Π°ΠΊΠΎΠ½Π½ΡΠΌ.
ΠΡΠ»ΠΈ Π³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΏΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΡΡΡΠ΅Π΅ ΡΠΎΡΡΠΈΠΉΡΠΊΠΎΠ΅ Π·Π°ΠΊΠΎΠ½ΠΎΠ΄Π°ΡΠ΅Π»ΡΡΡΠ²ΠΎ, ΠΊΠΎΠ³Π΄Π° ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ΅ΡΡΠΈΡΡΠ΅Ρ ΡΡΠΆΠΎΠΉ ΠΏΡΠΎΠ΄ΡΠΊΡ Π½Π° ΠΏΡΠ΅Π΄ΠΌΠ΅Ρ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ ΠΈΠ»ΠΈ ΠΏΡΠΎΠ½ΠΈΠΊΠ°Π΅Ρ Π² ΡΡΠΆΡΡ ΡΠ΅ΡΡ Π±Π΅Π· Π²Π΅Π΄ΠΎΠΌΠ° ΠΈ ΡΠΎΠ³Π»Π°ΡΠΈΡ Π²Π»Π°Π΄Π΅Π»ΡΡΠ°, Π΅Π³ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ°ΡΡΠ΅Π½Π΅Π½Ρ ΠΊΠ°ΠΊ Π½Π΅ΠΏΡΠ°Π²ΠΎΠΌΠ΅ΡΠ½ΡΠ΅.
ΠΠ°ΠΊ ΡΡΡΡΠΎΠ΅Π½Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ?
ΠΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ, ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ΄Π°Π΅ΡΡΡ Π²Π½Π΅Π΄ΡΠΈΡΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ JavaScript-ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ°ΠΌ ΡΠ°Π½ΡΡΠ΅ Π½Π΅ Π±ΡΠ»ΠΎ? Π ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΠΈΡΡ ΡΡΠΎΡ ΠΊΠΎΠ΄ ΡΡΠ΅Π΄ΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ?
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ JavaScript-ΠΊΠΎΠ΄ Π² ΠΏΠΎΠ»Π΅ Π²Π²ΠΎΠ΄Π°, ΡΠ΅ΠΊΡΡ ΠΈΠ· ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ ΠΈ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΡΠ΅Π±Π΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΏΡΠΎΡΠΈΠ»Ρ ΡΠΎΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΈ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π½Π° ΡΠΎΡΡΠΌΠ΅.
ΠΠ»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊ Π²Π²ΠΎΠ΄ΠΈΡ ΡΠ΅ΠΊΡΡ (ΠΈ Π·Π° ΠΎΠ΄Π½ΠΎ Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΡΠΉ ΠΊΠΎΠ΄), ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅. ΠΠΎΠ³Π΄Π° Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Π·Π°ΠΉΠ΄ΡΡ Π½Π° ΡΡΡ ΠΆΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ, Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΡΠ΅ΠΊΡΡΠΎΠΌ ΠΎΠ½ΠΈ Π·Π°Π³ΡΡΠ·ΡΡ ΠΈ JavaScript-ΠΊΠΎΠ΄ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊΠ°. ΠΠΌΠ΅Π½Π½ΠΎ Π² ΠΌΠΎΠΌΠ΅Π½Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΡΠΎΡ ΠΊΠΎΠ΄ ΠΎΡΡΠ°Π±ΠΎΡΠ°Π΅Ρ. ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ ΡΡΠ°Π±ΠΎΡΠ°Π΅Ρ, ΡΠΎΠ»ΡΠΊΠΎ Π΅ΡΠ»ΠΈ ΡΠ΅ΠΊΡΡ ΠΏΡΠΈ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠΈ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΎΠ±Π΅Π·ΠΎΠΏΠ°ΡΠ΅Π½. Π ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, ΠΈ ΠΏΠΎΡΠ΅ΠΌΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΈΠ½ΠΎΠ³Π΄Π° Π·Π°Π±ΡΠ²Π°ΡΡ ΠΎΠ± ΡΡΠΎΠΌ, ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΡΡΡΡ ΠΏΠΎΠ·ΠΆΠ΅.
ΠΡΠΎ Π»ΠΈΡΡ ΡΠ°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΠΈ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΎΠ³ΠΎ, Π³Π΄Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΏΡΡΡΠ°Π½Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ. ΠΠΎΠ»Π΅Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΌΡ Ρ Π²Π°ΠΌΠΈ ΡΡΡΡ Π½ΠΈΠΆΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΠΎΠΉ Π΄Π΅ΠΌΠΎ-ΡΡΡΠ°Π½ΠΈΡΠΊΠ΅.
Π ΠΏΠΎΠΊΠ° Π΄Π°Π²Π°ΠΉΡΠ΅ Π΄Π²ΠΈΠ³Π°ΡΡΡΡ Π΄Π°Π»ΡΡΠ΅.
ΠΠΎΡΠ΅ΠΌΡ ΡΠ°ΠΊΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ ΡΠ°ΡΡΠΎ Π²ΡΡΡΠ΅ΡΠ°ΡΡΡΡ Π½Π° Π²Π΅Π±-ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ ?
Π‘ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π±ΡΠ°ΡΠ·Π΅Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΠ»ΠΈΡΠΈΡΡ ΠΎΠ±ΡΡΠ½ΡΠΉ ΡΠ΅ΠΊΡΡ ΠΎΡ ΡΠ΅ΠΊΡΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ CSS, HTML ΠΈΠ»ΠΈ JavaScript-ΠΊΠΎΠ΄ΠΎΠΌ. ΠΠ½ Π±ΡΠ΄Π΅Ρ ΠΏΡΡΠ°ΡΡΡΡ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π²ΡΠ΅, ΡΡΠΎ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅Π³Π°ΠΌΠΈ
Π ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΡΡΡΠ°Π½ΠΈΡΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠ·Π²ΠΈΠΌΠΎΠΉ, ΠΏΠΎΡΠ»Π΅ Π²Π²ΠΎΠ΄Π° ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΏΠΎΡΠ²ΠΈΡΡΡ Π²ΠΎΡ ΡΠ°ΠΊΠΎΠ΅ ΠΎΠΊΠΎΡΠΊΠΎ:
ΠΠ½ΠΎ ΠΈ Π±ΡΠ΄Π΅Ρ ΠΎΠ·Π½Π°ΡΠ°ΡΡ, ΡΡΠΎ Π½Π°Ρ JavaScript-ΠΊΠΎΠ΄ ΠΈΡΠΏΠΎΠ»Π½ΠΈΠ»ΡΡ ΠΈ ΠΌΡ Π½Π°ΡΠ»ΠΈ XSS-ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ.
ΠΡΠ°ΠΊ, Π²Π²ΠΎΠ΄ΠΈΠΌ ΠΊΠΎΠ΄ ΠΈ Π²ΠΈΠ΄ΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅:
Π€ΠΎΡΠΌΠ° Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΠΌ ΠΎΡΡΡΠ΅ΡΡΠ²ΠΈΡΡ ΠΏΠΎΠΈΡΠΊ ΠΏΠΎ ΡΠ°ΠΊΠΎΠΌΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠΎΡΠΌΠ° Π²Π°Π»ΠΈΠ΄ΠΈΡΡΠ΅ΡΡΡ ΠΈ Ρ ΠΎΡΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Ρ Π±ΡΠΊΠ²Π°ΠΌΠΈ ΠΈ ΡΠΈΡΡΠ°ΠΌΠΈ. ΠΠ° ΠΏΠ΅ΡΠ²ΡΠΉ Π²Π·Π³Π»ΡΠ΄ ΠΊΠ°ΠΆΠ΅ΡΡΡ, ΡΡΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π²ΡΠ΅ ΡΡΠ΅Π» ΠΈ Π·Π°ΡΠΈΡΠΈΠ» ΡΡΡΠ°Π½ΠΈΡΡ ΠΎΡ XSS, Π½ΠΎ ΡΡΠΎ Π½Π΅ ΡΠΎΠ²ΡΠ΅ΠΌ ΡΠ°ΠΊ.
ΠΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΡΡ Π²ΡΡΠ΅ ΠΌΡ Ρ Π²Π°ΠΌΠΈ Π·Π°ΠΌΠ΅ΡΠΈΠ»ΠΈ, ΡΡΠΎ ΡΠ΅ΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ Π²Π²ΠΎΠ΄ΠΈΠΌ Π² ΠΏΠΎΠ»Π΅ ΠΏΠΎΠΈΡΠΊΠ°, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π² URL Π² ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠΎΠΌ GET-ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ΅? ΠΠΌΡ ΡΡΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° βqβ, Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ β ΡΠΎ, ΡΡΠΎ ΠΌΡ Π²Π²ΠΎΠ΄ΠΈΠΌ Π² ΠΏΠΎΠ»Π΅ ΠΏΠΎΠΈΡΠΊΠ°. ΠΡΠΎ ΡΠ΄Π΅Π»Π°Π½ΠΎ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ URL Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΡΡΠΎΠΉ ΡΠ°ΠΌΠΎΠΉ ΡΡΡΠΎΠΊΠΎΠΉ ΠΏΠΎΠΈΡΠΊΠ° ΠΈ Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ°Π· ΠΎΡΠΊΡΡΡΡ ΡΡΡΠ°Π½ΠΈΡΡ ΡΡΠ°Π·Ρ Ρ Π½ΡΠΆΠ½ΡΠΌΠΈ Π°Π²ΡΠΎΡΠ°ΠΌΠΈ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΠΎΡ ΡΠ°ΠΊΠΎΠΉ URL ΠΎΡΠΊΡΠΎΠ΅Ρ ΡΡΡΠ°Π½ΠΈΡΡ ΡΡΠ°Π·Ρ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΠΊΠ½ΠΈΠ³Π°ΠΌΠΈ Π Π΅Ρ ΠΡΡΠ΄Π±Π΅ΡΠΈ: playground.learnqa.ru/demo/xss?q=Π Π΅ΠΉ+ΠΡΡΠ΄Π±Π΅ΡΠΈ
Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΡΠΎΡΠΌΡ, Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΡ URL ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΠ΄Π΅Π»Π°ΡΡ Π½Π΅ ΠΌΠΎΠ³ β Π»ΡΠ±ΠΎΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π² ΡΠ²ΠΎΠ΅ΠΌ Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π²Π²Π΅ΡΡΠΈ Π»ΡΠ±ΠΎΠΉ URL, ΠΊΠ°ΠΊΠΎΠΉ Π·Π°Ρ ΠΎΡΠ΅Ρ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΈ Ρ Π»ΡΠ±ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ GET-ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°. ΠΠ°Π΄Π°ΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ β Π½Π΅ Π·Π°Π±ΡΡΡ ΡΡΠ΅ΡΡΡ Π²ΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ ΠΈ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ GET-ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°.
ΠΡΠΎΠ²Π΅ΡΠΈΠΌ, Π½Π΅ Π·Π°Π±ΡΠ» Π»ΠΈ Π½Π°Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π²ΡΠ΅ ΡΡΠ΅ΡΡΡ ΡΡΡ. ΠΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ Π² GET-ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ βqβ ΠΏΠΎΠ΄ΡΡΠ°Π²ΠΈΡΡ ΡΠΎΡ ΡΠ°ΠΌΡΠΉ JavaScript-ΠΊΠΎΠ΄: https://playground.learnqa.ru/demo/xss?q=
ΠΠ΅ΡΠ΅ΠΉΠ΄Ρ ΠΏΠΎ ΡΡΠΎΠΌΡ URL ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΏΠΎΡΠ²ΠΈΠ»ΠΎΡΡ ΠΎΠΊΠΎΡΠΊΠΎ ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ 123. ΠΠΎ ΠΏΠΎΡΠ΅ΠΌΡ?
ΠΡΠ΅ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ. ΠΠΎΠΌΠ½ΠΈΡΠ΅, ΠΊΠΎΠ³Π΄Π° ΡΠ°ΠΉΡ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π½Π°ΠΉΡΠΈ Π½ΡΠΆΠ½ΡΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΏΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡ ΠΏΠΎΠΈΡΠΊΠΎΠ²ΠΎΠΌΡ Π·Π°ΠΏΡΠΎΡΡ, ΠΎΠ½ ΡΠ΅ΠΊΡΡ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΠΈΡΠΊΠΎΠ²ΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ° Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π² ΡΠ΅ΠΊΡΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠ΅? ΠΠΎΠ», Π½Π΅ Π½Π°ΡΠ»ΠΈ Π½ΠΈΡΠ΅Π³ΠΎ ΠΏΠΎ Π·Π°ΠΏΡΠΎΡΡ βΠ±Π»Π°-Π±Π»Π°β. ΠΠΎΡ Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ βΠ±Π»Π°-Π±Π»Π°β Ρ Π½Π°Ρ ΡΠ΅ΠΏΠ΅ΡΡ JavaScript-ΠΊΠΎΠ΄ Ρ Π°Π»Π΅ΡΡΠΎΠΌ. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π½Π°ΠΏΠΈΡΠ°Π» Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΡ ΠΏΠΎΠ»Ρ Π²Π²ΠΎΠ΄Π° ΠΈ ΡΠ΅ΡΠΈΠ», ΡΡΠΎ ΡΠ°ΠΊ ΠΎΠ½ Π·Π°ΡΠΈΡΠΈΠ» ΡΠ°ΠΉΡ ΠΎΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ JavaScript ΠΌΠΎΠ³ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ Π² ΠΏΠΎΠΈΡΠΊΠΎΠ²ΠΎΠΌ Π·Π°ΠΏΡΠΎΡΠ΅. Π Π½Π΅ ΡΡΠ°Π» ΡΠΊΡΠ°Π½ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΠΊΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ. ΠΠ°ΠΌ ΠΆΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΎΠ±ΠΎΠΉΡΠΈ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΡ ΡΠ΅ΡΠ΅Π· URL, ΠΏΠΎΠΌΠ΅Π½ΡΠ² ΡΠ°ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠΈΡΠΊΠΎΠ²ΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ°.
Π Π°Π΄ΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ° ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΡΠ²Π΅ΡΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π°ΡΠ΅ΠΉ ΡΠ΅ΡΡΠΈΠΎΠ½Π½ΠΎΠΉ cookie, Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π²ΠΌΠ΅ΡΡΠΎ Π² URL Π½Π°Π΄ΠΎ ΠΏΠΎΠ΄ΡΡΠ°Π²ΠΈΡΡ Π΄ΡΡΠ³ΠΎΠΉ ΠΊΠΎΠ΄:
Π‘ ΡΡΠΈΠΌ Ρ ΡΠΆΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Ρ ΠΏΠΎΠΈΠ³ΡΠ°ΡΡΡΡ Π²Π°ΠΌ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ. π
ΠΠ°ΠΉΠ΄Ρ ΠΎΡΠΈΠ±ΠΊΡ, ΡΡΠΎΠΈΡ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ β ΠΎΠ½ΠΈ Π΅Π΅ ΠΈΡΠΏΡΠ°Π²ΡΡ.
Π‘ΠΏΠΎΡΠΎΠ±ΠΎΠ² Π·Π°ΠΊΡΡΡΡ ΠΎΡΠΈΠ±ΠΊΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ. ΠΠΊΡΠ°Π½ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΠΊΡΡ β Π½Π΅ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΈΠ· Π½ΠΈΡ . ΠΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΠ΅ΡΠΈΡΡ ΡΠ°ΠΌΠΎΠΌΡ JavaScript Π²ΠΈΠ΄Π΅ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ cookie. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Ρ cookie Π΅ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ βhttp onlyβ. ΠΡΠ»ΠΈ ΠΎΠ½ Π²ΡΡΡΠ°Π²Π»Π΅Π½ Π² TRUE, JavaScript Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΡΠΌΠΎΠΆΠ΅Ρ ΡΠ·Π½Π°ΡΡ, ΡΡΠΎ ΡΠ°ΠΊΠ°Ρ cookie Π²ΠΎΠΎΠ±ΡΠ΅ Π²ΡΡΡΠ°Π²Π»Π΅Π½Π° ΠΈ Π½Π΅ ΡΠΌΠΎΠΆΠ΅Ρ Π΅Π΅ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊΡ Π΄Π°ΠΆΠ΅ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ Π΅ΠΌΡ ΡΠ΄Π°ΡΡΡΡ Π½Π°ΠΉΡΠΈ XSS Π½Π° Π²Π°ΡΠ΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅.
ΠΡΠ΅ ΡΡΠΎ β Π»ΠΈΡΡ ΠΌΠ°Π»ΡΠΉ, Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ ΠΏΠΎΠ»Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΉ, ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ°ΡΡΠΈΠΉ XSS-ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ. ΠΠ°ΠΊ ΠΏΠΈΡΠ°Π»ΠΎΡΡ Π²ΡΡΠ΅ β ΠΏΡΠΈ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠΈ XSS Π² Ρ ΠΎΠ΄Π΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π»ΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΏΠΎΠΎΠ±ΡΠ°ΡΡΡΡ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°ΠΌΠΈ.
ΠΡΠ»ΠΈ ΠΠ°ΠΌ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ Π·Π½Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΏΡΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, Ρ ΠΎΡΠ΅ΡΡΡ Π»ΡΡΡΠ΅ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π² ΡΡΡΡΠΎΠΉΡΡΠ²Π΅ ΠΊΠ»ΠΈΠ΅Π½Ρ-ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ, ΠΏΠΎΠ½ΡΡΡ ΠΈ ΠΎΡΡΠΎΡΠΈΡΡ ΡΠ°ΠΌΡΠ΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΏΠΎΠΈΡΠΊΠ° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ Π½Π° Π½Π°ΡΡΠΎΡΡΠ΅ΠΌ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΠ΅ Π½Π° ΠΌΠΎΠΉ ΠΊΡΡΡ βΠ’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈβ. ΠΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π΅ΡΡΡ Π² ΠΌΠΎΠ΅ΠΌ ΠΏΡΠΎΡΠΈΠ»Π΅.
ΠΠ°Ρ ΠΆΠ΄Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ»Π΅Π·Π½Π°Ρ ΠΈ Π½ΡΠΆΠ½Π°Ρ ΡΠ΅ΠΎΡΠΈΡ Π±Π΅Π· Π²ΠΎΠ΄Ρ ΠΈ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΈ Π·Π°Π΄Π°Π½ΠΈΠΉ. ΠΡ Π±ΡΠ΄Π΅ΡΠ΅ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡ, Π½Π°ΠΏΠΈΡΠΊΠ°Π½Π½ΡΡ ΡΠ°ΠΌΡΠΌΠΈ ΡΠ°Π·Π½ΡΠΌΠΈ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠΌΠΈ. ΠΡΠΎΠ³ΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΠΎΠΉ ΡΡΠ°Π½Π΅Ρ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ Π»ΠΈΠ±ΠΎ Π²Π°ΡΠ΅Π³ΠΎ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π»ΠΈΠ±ΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΡΠ°ΠΊΠΈΡ Π³ΠΈΠ³Π°Π½ΡΠΎΠ² ΠΊΠ°ΠΊ Google, Facebook, Twitter ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅.
CΠΈΡΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ ΡΠ°ΠΉΡΠΎΠ², ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ Π½Π° CMS 1Π‘-ΠΠΈΡΡΠΈΠΊΡ
ΠΠ°ΠΏΠΈΡΠ°ΡΡ ΠΎ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡΡ ΡΠ°ΠΉΡΠΎΠ², ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ Π½Π° ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΈΡ CMS, ΠΏΠΎΠ΄ΡΠΎΠ»ΠΊΠ½ΡΠ» ΠΏΠΎΡΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π±ΡΠ»ΠΈ ΠΎΠΏΠΈΡΠ°Π½Ρ ΡΠΈΡΠΊΠΈ Π²Π·Π»ΠΎΠΌΠ° Β«Π·Π°ΡΠΈΡΠ΅Π½Π½ΡΡ Β» CMS.
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠΏΡΠΎΠΌΠ΅ΡΠ°ΡΠΈΠΈ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΏΠΎ ΠΏΡΠΈΡΠΈΠ½Π΅ Β«ΡΠ΅Π»ΠΎΠ²Π΅ΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ°ΠΊΡΠΎΡΠ°Β», Π° ΡΠ΅ΠΌΠ° ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΈ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ ΡΠ°ΠΉΡΠΎΠ² ΠΈ Π²Π΅Π±-Π°ΡΠ°ΠΊ Π±ΡΠ»Π° ΠΎΠ±ΠΎΠΉΠ΄Π΅Π½Π° ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ Β«Π½Π΅ΡΡΠ·Π²ΠΈΠΌΡΡ Β» CMS. ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠΈ Β«Π½Π΅ΡΡΠ·Π²ΠΈΠΌΡΡ Β» CMS, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΈΠΌΠ΅Π΅Ρ ΠΏΡΠ°Π²ΠΎ Π½Π° ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΊΠ°ΠΊ ΠΏΡΠΈΠΌΠ΅Ρ, Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ Π³ΠΎΡΠΎΠ²ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ-ΠΌΠ°Π³Π°Π·ΠΈΠ½Π° Β«ΠΈΠ· ΠΊΠΎΡΠΎΠ±ΠΊΠΈΒ» Π½Π° CMS 1C-ΠΠΈΡΡΠΈΠΊΡ ΠΎΡΠ΅Π½Ρ Π²ΡΡΠΎΠΊΠ°, ΠΈ Π½Π°ΠΉΡΠΈ Π±ΠΎΠ»Π΅Π΅-ΠΌΠ΅Π½Π΅Π΅ ΡΠ΅ΡΡΠ΅Π·Π½ΡΠ΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ ΠΊΠΎΠ΄Π° Β«ΠΊΠΎΡΠΎΠ±ΠΎΡΠ½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈΒ» Π²ΡΡΠ΄ Π»ΠΈ ΡΠ΄Π°ΡΡΡΡ.
ΠΡΡΠ³ΠΎΠ΅ Π΄Π΅Π»ΠΎ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°, ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π½Π° ΡΠ°ΠΊΠΎΠΉ CMS, ΠΈ ΡΠ°ΠΌΠΎΠ΅ Π³Π»Π°Π²Π½ΠΎΠ΅, ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠΈΠΊΠ° ΠΏΡΠΎΡΠ²Π»Π΅Π½ΠΈΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ ΡΠ³ΡΠΎΠ· Ρ ΡΡΠΈΡ ΡΠ°ΠΉΡΠΎΠ². ΠΡΡ ΠΎΠ΄Ρ ΠΈΠ· Π½Π°ΡΠ΅ΠΉ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ ΠΏΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΡΠ°ΠΉΡΠΎΠ² (ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ InSafety), Π° ΡΠ°ΠΊΠΆΠ΅ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ ΡΠΎΠ±ΠΈΡΠ°Π΅ΠΌ ΠΏΠΎ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠΌ ΠΏΠ»Π°ΡΡΠΎΡΠΌ (CMS), Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΡΠ΅ΠΌ Ρ ΠΏΡΡΠΈΠ΄Π΅ΡΡΡΠΈ ΠΏΡΠΎΡΠ΅Π½ΡΠΎΠ² ΡΠ°ΠΉΡΠΎΠ², ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ 1Π‘-ΠΠΈΡΡΠΈΠΊΡ c Π»ΠΈΡΠ½ΡΠΌΠΈ ΠΊΠ°Π±ΠΈΠ½Π΅ΡΠ°ΠΌΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΈ Ρ ΡΠ°Π½ΠΈΠΌΡΡ XSS-Π°ΡΠ°ΠΊ.
ΠΠ»Π°ΡΡΠΎΡΠΌΠ°: CMS 1C-ΠΠΈΡΡΠΈΠΊΡ 15.0 ΠΈ Π²ΡΡΠ΅
Π£Π³ΡΠΎΠ·Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ: Ρ ΡΠ°Π½ΠΈΠΌΠ°Ρ XSS-Π°ΡΠ°ΠΊΠ°
Π‘ΠΈΡΡΠ΅ΠΌΠ°ΡΠΈΠΊΠ°: Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 50% ΡΠ°ΠΉΡΠΎΠ² Ρ Π»ΠΈΡΠ½ΡΠΌΠΈ ΠΊΠ°Π±ΠΈΠ½Π΅ΡΠ°ΠΌΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ
Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΡ ΠΊΠΎΠ΄Π°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ°Ρ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΡ XSS Π°ΡΠ°ΠΊΠΈ, Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎΠΉ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ Π΄Π°Π½Π½ΡΡ ΠΏΠΎΠ»Π΅ΠΉ ΡΠΎΡΠΌΡ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π»ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΊΠ°Π±ΠΈΠ½Π΅ΡΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ΅ΡΡΡΡΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ Π² ΠΠ.
HTML-ΠΊΠΎΠ΄ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΠ°Π½ΠΈΡΠΎΠ²Π°Π½ ΠΈ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΠΎΠΌΠ½Π΅Π½ Π² ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Β«ΠΊΠ°ΠΊ Π΅ΡΡΡΒ». Π‘ΠΊΡΠΈΠ½ΡΠΎΡ Π°Π΄ΠΌΠΈΠ½ΠΊΠΈ ΡΠ°ΠΉΡΠ°:
ΠΡΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ Π½Π°Π³Π»ΡΠ΄Π½ΠΎ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅Ρ Π½Π°Π»ΠΈΡΠΈΠ΅ ΡΠ³ΡΠΎΠ·Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ
Π ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΈ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ³ΡΠΎΠ·Ρ, Π±ΡΠ»ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΠ΅ HTML ΠΊΠΎΠ΄Π°, Π° Π½Π΅ JS, ΡΡΠΎ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ ΡΠΈΠΏΠΎΠ²Π°Ρ XSS-Π°ΡΠ°ΠΊΠ°. ΠΡΠΎ ΠΎΠ±ΡΡΠ»ΠΎΠ²Π»Π΅Π½ΠΎ ΡΠ΅ΠΌ, ΡΡΠΎ Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ°ΠΉΡΠΎΠ², ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΡ Π½Π° CMS 1C-ΠΠΈΡΡΠΈΠΊΡ, ΠΏΠΎΠΏΡΡΠΊΡ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ JS-ΠΊΠΎΠ΄Π° Π·Π°Π±Π»ΠΎΠΊΠΈΡΡΠ΅Ρ ΡΠΈΠ»ΡΡΡ ΠΏΡΠΎΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΉ Π·Π°ΡΠΈΡΡ.
ΠΠ½Π΅Π΄ΡΠ΅Π½ΠΈΠ΅ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ΅Π³ΠΎΠ² HTML ΠΊΠΎΠ΄Π°, ΠΏΡΠΎΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΉ Π·Π°ΡΠΈΡΠΎΠΉ CMS 1C-ΠΠΈΡΡΠΈΠΊΡ Π½Π΅ ΡΠΈΠ»ΡΡΡΡΠ΅ΡΡΡ. Π’Π°ΠΊΠ°Ρ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΡ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ ΠΊΠΎΠ΄Π° Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½Π° ΠΈ Π½Π°Π³Π»ΡΠ΄Π½Π°. Π ΡΠ»ΡΡΠ°Π΅, ΠΊΠΎΠ³Π΄Π° ΡΠΈΠ»ΡΡΡ ΠΏΡΠΎΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΉ Π·Π°ΡΠΈΡΡ 1Π‘-ΠΠΈΡΡΠΈΠΊΡ ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΏΡΠΈΡΠΈΠ½Π΅ ΠΎΡΠΊΠ»ΡΡΠ΅Π½, Π²ΡΡΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½Π°Ρ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ ΠΊΠΎΠ΄Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠΈΡΠΎΠ²Π°ΡΡ Ρ ΡΠ°Π½ΠΈΠΌΡΠ΅ XSS-Π°ΡΠ°ΠΊΠΈ Π² Β«ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΎΠΉΒ» ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ.
Π£ΡΠΎΠ²Π΅Π½Ρ ΡΠ³ΡΠΎΠ·Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Π΄Π»Ρ ΡΠ°ΠΉΡΠ° ΠΎΡ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ Π»ΡΠ±ΠΎΠ³ΠΎ (Π±ΡΠ΄Ρ ΡΠΎ JS ΠΈΠ»ΠΈ HTML) Π½Π΅ΡΠ°Π½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΠΊΠ°ΠΊ ΠΈ Π΅Π³ΠΎ Π²ΡΠ²ΠΎΠ΄Π° Π±Π΅Π· Π΄ΠΎΠ»ΠΆΠ½ΠΎΠΉ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ, ΠΊΡΠ°ΠΉΠ½Π΅ Π²ΡΡΠΎΠΊ.
ΠΠΎ ΠΏΠΎΠ½ΡΡΠ½ΡΠΌ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ, Π² ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Π½Π΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡΡΡ Π²Π°ΡΠΈΠ°Π½ΡΡ ΡΠ΅Π°Π»ΡΠ½ΠΎΠΉ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΈ Π°ΡΠ°ΠΊΠΈ, ΠΊΠ°ΠΊ Ρ Π²ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠΌ, ΡΠ°ΠΊ ΠΈ Ρ ΠΎΡΠΊΠ»ΡΡΠ΅Π½Π½ΡΠΌ ΡΠΈΠ»ΡΡΡΠΎΠΌ ΠΏΡΠΎΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΉ Π·Π°ΡΠΈΡΡ.
ΠΠ°ΡΠΈΡΠ° ΠΎΡ XSS-Π°ΡΠ°ΠΊΠΈ
ΠΠ°ΡΠΈΡΠΈΡΡ ΡΠ²ΠΎΠΉ ΡΠ°ΠΉΡ ΠΎΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΈ XSS Π°ΡΠ°ΠΊΠΈ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠΈΠ»ΡΡΡΠΎΠ²Π°ΡΡ Π²Ρ ΠΎΠ΄Π½ΡΠ΅ ΠΈ Π²ΡΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΏΡΡΠ΅ΠΌ ΡΠΊΡΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΏΠ΅ΡΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π² HTML-ΡΡΡΠ½ΠΎΡΡΠΈ. Π php ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ htmlspecialchars(), htmlentities(), strip_tags().
ΠΡΠΎΠΌΠ΅ ΡΡΠΎΠ³ΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠ²Π½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΡ ΡΡΡΠ°Π½ΠΈΡ ΡΠ°ΠΉΡΠ°:
Π‘ΠΏΠΎΡΠΎΠ±ΠΎΠ² Π·Π°ΡΠΈΡΡ ΠΎΡ XSS Π°ΡΠ°ΠΊ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ, ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ, ΡΡΡΠ΅ΡΡΠ²ΡΡΡ Π²Π°ΡΠΈΠ°Π½ΡΡ Π·Π°ΠΏΡΠ΅ΡΠ° Π½Π° ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΊΠ°Π²ΡΡΠ΅ΠΊ ΠΈ ΡΠΊΠΎΠ±ΠΎΠΊ (ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΡ Π΄Π°Π½Π½ΡΡ ΠΏΠΎ ΡΠ΅ΡΠ½ΠΎΠΌΡ ΡΠΏΠΈΡΠΊΡ) Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠ°.
ΠΡΠΈΠΌΠ΅Ρ Π΄Π»Ρ NGINX: (Π·Π°ΠΏΠΈΡΡ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠΉ ΡΠ°ΠΉΠ»)
Π€ΠΈΠ»ΡΡΡΠ°ΡΠΈΡ Π΄Π°Π½Π½ΡΡ ΠΏΠΎ ΡΠ΅ΡΠ½ΠΎΠΌΡ ΡΠΏΠΈΡΠΊΡ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΠ° Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ Π΄Π»Ρ Π²ΡΠ΅Ρ ΡΠ°ΠΉΡΠΎΠ². ΠΡΠΈΠΌΠ΅Π½ΡΡΡ ΡΠ°ΠΊΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± Π·Π°ΡΠΈΡΡ ΠΎΡ Π°ΡΠ°ΠΊ, ΡΠ»Π΅Π΄ΡΠ΅Ρ Ρ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΎΡΡΠΎΡΠΎΠΆΠ½ΠΎΡΡΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°ΡΡ Π»Π΅Π³Π°Π»ΡΠ½ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΡΡΠ΅ΠΎΠ·Π½Π°ΡΠ΅Π½Π½Π°Ρ ΡΠ³ΡΠΎΠ·Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Π½Π° Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΠΉ ΠΈ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠΉ Π°ΡΠ°ΠΊΠΎΠΉ. ΠΡΠΎ XSS Π°ΡΠ°ΠΊΠΈ ΠΈ Π·Π°ΡΠΈΡΡ ΠΎΡ Π½ΠΈΡ , Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ ΡΡΡΡΡΠΈ ΡΡΠ°ΡΠ΅ΠΉ ΠΈ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΉ.
Π ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ Π½Π°ΡΠ΅ΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ ΠΊ XSS Π°ΡΠ°ΠΊΠ°ΠΌ Π»ΠΈΡΠ½ΡΡ ΠΊΠ°Π±ΠΈΠ½Π΅ΡΠΎΠ² ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π±ΡΠ»Π° ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½Π° ΠΎΡΠ΅Π½ΡΡ 2015 Π³ΠΎΠ΄Π°. ΠΠ΅ΡΠ½ΠΎΡ 2016 Π³ΠΎΠ΄Π° Π½Π°ΡΠ° ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ° ΡΡΠ·Π²ΠΈΠΌΡΡ ΡΠ°ΠΉΡΠΎΠ² Π½Π° CMS 1Π‘-ΠΠΈΡΡΠΈΠΊΡ ΡΠ²Π½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°Π»Π° Π½Π° Π½Π°Π»ΠΈΡΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΈ Π°ΡΠ°ΠΊΠΈ Ρ Π±ΠΎΠ»Π΅Π΅ 50% ΠΏΡΠΎΡΠ΅Π½ΡΠΎΠ² ΠΈΡΡΠ»Π΅Π΄ΡΠ΅ΠΌΡΡ ΡΠ°ΠΉΡΠΎΠ². Π Π°ΠΏΡΠ΅Π»Π΅ 2016 Π³ΠΎΠ΄Π°, ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ, ΡΡΠΎ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ ΠΊΠΎΠ΄Π° Π² ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ Π½ΠΎΡΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ Ρ Π°ΡΠ°ΠΊΡΠ΅Ρ, ΠΌΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π»ΠΈ Π²ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΠΎ ΡΠ³ΡΠΎΠ·Π΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ ΠΠΈΡΡΠΈΠΊΡ. Π‘ΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΠΈΡΡΠΈΠΊΡ ΠΏΡΠΈΠ½ΡΠ»ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΡΠΎΠΎΠ±ΡΠΈΠ² Π² ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΠ²ΡΠ·ΠΈ, ΡΡΠΎ ΠΏΡΠΈΠ½ΡΠ»ΠΈ ΠΌΠ΅ΡΡ, ΠΈΡΠΏΡΠ°Π²ΠΈΠ² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΊ ΡΠΈΡΡΠ΅ΠΌΠ΅. ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΠΏΡΠΈΠ½ΡΡΡΠ΅ ΠΌΠ΅ΡΡ, Π²ΡΡΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½Π°Ρ ΡΠ³ΡΠΎΠ·Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Π΄Π»Ρ ΡΠ°ΠΉΡΠΎΠ² Π½Π° 1Π‘-ΠΠΈΡΡΠΈΠΊΡ ΠΎΡΡΠ°ΡΡΡΡ ΠΊΡΠ°ΠΉΠ½Π΅ Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎΠΉ Π½Π° ΡΠ΅Π³ΠΎΠ΄Π½ΡΡΠ½ΠΈΠΉ Π΄Π΅Π½Ρ.
ΠΠ°Π΄Π΅ΡΡΡ, ΡΡΠΎ ΡΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΈ Π²Π»Π°Π΄Π΅Π»ΡΡΠ΅Π² ΡΠ°ΠΉΡΠΎΠ², ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ 1C-ΠΠΈΡΡΠΈΠΊΡ.
ΠΡΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΡΡΠΎ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΡ Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡΡ ΡΡΠΆΠΈΡ ΡΠ°ΠΉΡΠΎΠ², Π½Π΅ Π³ΠΎΠ²ΠΎΡΡ ΠΎ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΈ Π°ΡΠ°ΠΊΠΈ Π² ΠΊΡΠΈΠΌΠΈΠ½Π°Π»ΡΠ½ΡΡ ΡΠ΅Π»ΡΡ , ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ²Π»Π΅ΡΡ ΡΠ³ΠΎΠ»ΠΎΠ²Π½ΡΡ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΡΡΡ. ΠΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΠΎ ΡΠ³ΡΠΎΠ·Π΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΡΠ°ΠΉΡΠΎΠ², Π² ΡΡΠΎΠΌ ΠΏΠΎΡΡΠ΅, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π° Ρ ΡΠ΅Π»ΡΡ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅Π³ΠΎ ΡΡΠΎΠ²Π½Ρ ΠΠ ΠΊΠΎΠ½Π΅ΡΠ½ΡΡ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ² Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ 1C-ΠΠΈΡΡΠΈΠΊΡ.