ááœááºáá²á·ááá·áºáá
áºááŸá
áºááá·áºá áá»áœááºá¯ááºááá¯á·ááẠDataLine ááœáẠá
áááºáá²á·áááºá
á¡á±á¬ááºáá±á¬áºááŒáá« áá±á¬ááºážáá«ážááœáẠáááºááá¯ááºáá¯á¶ááŒá¯á¶áá±ážááŸá á¡áá±á«ááºáá»á¬ážááᯠááœá²ááŒá¬ážáá±á¬ áá±áááºááŸá¯á¡ááá·áºáá»á¬ážá áá±á¬ááºááœááºááœáẠáá¯á¶ážááœááºáá¬ážáááºáá»á¬ážááᯠá¡ááá¡áá» áá±á¬áºááŒáá«áááºá á áááºáá¬ááœáẠá¡áá°ážáááŒáá·áº áááŒá¬ááááœá±á·ááá±á¬ á¡á¬ážáááºážáá»ááºáá»á¬ážá á¡áááºááŒá±á¬áá·áº ááŒá áºáá±á«áºááá¯ááºááááºážá ááŸáá·áº ááá·áºááá¯ááºááẠáá¬ááœááºáááºážááá¯á·ááᯠááŒáá·áºááŒáá«á áá¯á·á
Qualys ááẠáááºá¡ááºááá®áá±ážááŸááºáž á¡á¬ážáááºážáá»ááºá¡á¬ážáá¯á¶ážááᯠáá±áááºááá¯ááºážááŒá¬ážááá¯ááºááá·áº á¡ááá·áºáá¯á¶ážááá·áº- á¡áááá·áºá á¡áááºááŸáá·áº ááŒáá·áºáááºá "ááŒááºážáááºááŸá¯" ááŒáá·áº ááŒáá·áºááŒá°ážááŸá¯ááᯠááŒáá·áºáá»áŸáẠá¡áá¬á¡á¬ážáá¯á¶ážááẠááá¯ážááœá¬ážááŸáááºááá¯ááºáá±á áá±áááºááá¯ááºážááŒá¬ážááŸá¯ ááŒáá·áºáá¬ážáá±á¬ á¡ááá·áºááŸááá±á¬ á¡á¬ážáááºážáá»áẠá¡áááºážááẠááŸáááŒá®áž á¡áá»á¬ážá
á¯ááŸá¬ á¡á¬ážáá¯á¶ážááẠáá±áááºááá¯ááºážááŒá¬ážááŒááºáž áááŸáááŒáá«á
ááá¯á·áá±á¬áº ááŒá
áºáááºáá±áááºááŒááºážááẠá¡áá¹ááá¬ááºáááºážáááºáᯠáááá¯ááá¯áá«á áááºážááá¯á·ááẠááŒááºážáááºáá±á¬ áá»ááºá
á®ážááŸá¯áá»á¬ážááá¯áááºáž ááŒá
áºá
á±ááá¯ááºáááºá
ááááºáááºáž "á¡áá±ážááá«áá±á¬" á¡á¬ážáááºážáá»ááºáá»á¬áž
- áá±á¬ááœá±ážáá±áá±á¬ á¡ááŒá±á¬ááºážá¡áᬠá¡á¬ážáááºážáá»ááºáá»á¬ážá
áááºááá¯ááºáá¯á¶ááŒá¯á¶áá±ážá¡ááœáẠá á¶áááºááŸááºáá»ááºááŸá¬ áá¯ááºááŸááºááŒááºážááᯠáá¶á·ááá¯ážáá±ážááŒá®áž ááááºážá¡áá»ááºá¡áááºáá»á¬ážááᯠááŒá¬ážááŒááºáááºáá±á¬ááºááŒááºážá០áá¬ááœááºáá±ážááá·áº HTTPS áááá¯ááá¯áá±á¬ááŸáá áºááá·áº client ááŸáá·áº áá¬áá¬á¡ááŒá¬áž áá±áá¬ááœáŸá²ááŒá±á¬ááºážááŒááºážááŒá áºáá«áááºá
ááá»áá¯á·ááá¯ááºááœá±á áá¯á¶ážáááºá áá±á¬ááŸá±á¬á¡ááŒá±á¬ááºážá¡áá¬: á¡áá»áá¯á·áá±á¬áá±áá¬áá»á¬ážááᯠááá¯á¶ááŒá¯á¶áá±á¬ HTTP áááá¯ááá¯áá±á¬ááŸáá áºááá·áº ááœáŸá²ááŒá±á¬ááºážáááºá á€áááºááŸá¬ áááŒá¬áááá±á¬áºááŒááŒááºážááŒá áºáá«áááºá passive á¡ááŒá±á¬ááºážá¡áᬠ- ááá¯ááºáááŒáááŸá¯ááá¯áá¬á¡áá»áá¯ážáááºáá±á¬ááºáá±á¬á¡áá»ááºá¡áááºáá»á¬áž- áá¯á¶áá»á¬ážá css á ááá¯ááºáá»á¬ážá áá«áá±ááá·áº áá áºáá«ááá± áá®áá¬á áá°ážá ááºáááºá áááºááŒáœáá±á¬á¡ááŒá±á¬ááºážá¡áá¬: site áá¡ááŒá¯á¡áá°ááá¯ááááºážáá»á¯ááºáá±á¬ scripts áá»á¬ážá á€ááá á¹á ááœááºá á¡áá°ážáá±á¬á·ááºáá²ááºááᯠá¡áá¯á¶ážááŒá¯á áá¬áá¬ááŸáá¬áá±á¬ áááºááŒáœáá±á¬á¡ááŒá±á¬ááºážá¡áá¬áá»á¬ážááŒáá·áº á¡áá»ááºá¡áááºáá»á¬ážááᯠááá¯ááºážááŒá¬ážá áááºááŒá¬ááá¯ááºááŒá®ážá áááºááá¯á¶á·ááŒááºááŸá¯áá»á¬ážááᯠáá»ááºááŒááºá áœá¬ ááŒá¯ááŒááºááœááºážáá¶áᬠá ááºááᯠáááºáá®ážáá°á០áááºááœááºááŒááºážáááŸáááá·áº áááºážáááºážááŒáá·áº áá¯ááºáá±á¬ááºááá¯ááºáááºá
áá±á¬ááŸá±á¬áá¬ážáá±á¬ á¡ááŒá±á¬ááºážá¡áá¬áá»á¬ážáá«áá±á¬ áááºááá¯ááºáá»á¬ážááẠá¡áá¹ááá¬ááºáááºážááŒá®áž á¡ááŒá±á¬ááºážá¡áá¬ááᯠááááºááá¯á·ááŒá±á¬ááºáž ááá±á¬ááºáá¬áá»á¬ážá áá¬ážááŸááºážá¡áá áºáá»á¬ážá ááááá±ážáááºá áááºááá¯áẠdeveloper áá»á¬ážááẠconsole ááœááºááá±á¬ááºáá¬ááááá±ážáá»ááºáá»á¬ážááá¯áááºážáááºáá¶áááŸáááŒáááºá á¥ááá¬á¡á¬ážááŒáá·áºá á€á¡áá¬ááẠá¡ááœááºážáá¯á¶ááŒá áºáááºá
Firefox ááᯠ:
áá¬á¡áá¹ááá¬ááºááŸááá²á: ááá¯ááºááá¯ááºáá°áá»á¬ážááẠáá¯á¶ážá áœá²áá°á¡áá»ááºá¡áááºáá»á¬ážááᯠááŒá¬ážááŒááºááá·áºáá¬ážáááºá Script áá»á¬ážááᯠá¡á á¬ážááá¯ážááŒá®áž áááºážáááá¯ááºá á¬áž ááá¯ááºááá¯á· áá±á¬ááºážááá¯áá»ááºáá»á¬ážááᯠáá±ážááá¯á·ááẠááá¯á¶ááŒá¯á¶áá±á¬ áááá¯ááá¯áá±á¬ááᯠá¡áá¯á¶ážááŒá¯áá«áááºá ááá¯ááºáááºáááºáá°ááẠáá±áá¬áááá·áºáá»áŸááºáááºá áááºážááẠáá°á·ááᯠááá¬ááœááºááá¯ááºáá«á ááŒá¬ážáá±á¬ááºážááŒááºážá - ááááºáááºááŸáá·áºááŒá¬ážáá±á¬áááºážáááºážáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯á áá»áŸáá¯á·ááŸááºááááºážá¡áá»ááºá¡áááºááá°ááŒááºážá á¥ááá¬á¡á¬ážááŒáá·áºá áá¬ááºááœáŸááºážááᯠá¡áá¯á¶ážááŒá¯á áá¯á¶ážá áœá²áá°ááŸáá·áº áááºážááŸá®ážáá°á¡ááŒá Ạáááºáá±á¬ááºáá¬ážááá·áº ááá¯á¶ááŒá¯á¶áá±á¬ááá¯ááºáá áºáá¯ááá¯á· ááẠááŒááºáááºááœáŸááºážááá¯ááºáááºá á¡áá»áá¯á·ááá á¹á áá»á¬ážááœááºá á¡áá¹ááá¬ááºááŸááá±á¬ááá¯ááºááẠáá°áááºážáááºááẠááá¯áá±á¬ááºážáá±áá¯á¶áááŒá®áž á¡áá¯á¶ážááŒá¯áá°ááẠáá±á¬ááºááᯠááá¯ááºááá¯ááºááŒáá·áºááŒá®áž áá»áŸáá¯á·ááŸááºá¡áá»ááºá¡áááºáá»á¬ážááᯠáááºááœááºážááá¯ááºáááºááááºáá±á¬á·ááºáá²áá±ážáá¬ážáá°ááẠá¡áááºá¡áá¬ááᯠááŸááºáá¬ážáá¬ážááá·áºááááºážá: ááá¯ááºá á®áá¶ááá·áºááœá²áá°ááẠSSL/TLS áááºááŸááºááᯠááá·áºááœááºážááŒá®áž á á®á ááºáááºááŸááºáá¬ážáá»áŸááºáááºá áá°áá¬ážá¡ááŸá¬ážááŒá±á¬áá·áº á¡á¬ážáááºážáá»ááºáá áºáᯠááŒá áºáá±á«áºáá¬ááá¯ááºáááºá á¥ááá¬á¡á¬ážááŒáá·áºá á¡áááºá áááºááẠá á¬áá»ááºááŸá¬áá áºáá¯ááœáẠááœá±áá»áá¯ážááá·áºááºáá áºáá¯ááá¯ááºáá±á¬áºáááºáž http á០á¡ááŒáœááºážáá²á·ááá·áºááºáá áºáᯠáá¬ážááŸááá«áá ááá¯á·á¡ááŒáẠhttp á០https ááá¯á· ááŒááºááœáŸááºážááŸá¯áá»á¬ážááᯠáááºááááºááŸááºáá²á·áá«á
ááá±á¬ááºáá¬ááᯠá¡áá¯á¶ážááŒá¯á áááºááá¯ááºáá áºáá¯áá±á«áºááœáẠáá±á¬ááŸá±á¬áá¬ážáá±á¬ á¡ááŒá±á¬ááºážá¡áá¬áá»á¬ážááᯠááŸá¬ááœá±ááá¯ááºáááº- á á¬áá»ááºááŸá¬á á¡áááºážá¡ááŒá áºáá¯ááºááᯠááŸá¬ááœá±áá«á áá±á¬á·ááºáá²áá±ážáá¬ážáá° ááœááºááá¯ážááºááŸá ááááá±ážáá»ááºáá»á¬ážááᯠáááºáá«á ááá¯á·áá±á¬áº developer ááẠáá¯ááºááᯠá¡áá»áááºá¡áá±á¬áºááŒá¬á¡á±á¬áẠááŒá®ážááœá±á·ááœááºáá±á¬ááºážá¡á±á¬áẠááŒá¯áá¯ááºááááºááŒá áºáá«áááºá áááºááẠá¡ááá¯á¡áá»á±á¬ááºááœá²ááŒááºážá áááºááŒá¬ááŸá¯áááááá¬áá»á¬ážááŒáá·áº áá¯ááºáááºážá ááºááᯠá¡ááŸáááºááŒáŸáá·áºááá¯ááºáááºá á¥ááá¬-
SSL á á áºáá±ážáá«á á¡ááá²á· Lighthouse áá±á¬á·ááºáá²áẠááá¯á·ááá¯áẠá¡ááá±áž áá±á¬á·ááºáá²áẠScreaming Frog SEO Spideráááá¯á·á¡ááŒááºá á¡ááœá±áááºáá¶áá²á·ááá·áº legacy-code - áá¯áẠááŒá¿áá¬áá»á¬ážááŒá±á¬áá·áº á¡á¬ážáááºážáá»áẠááŒá áºáá±á«áºáá¬ááá¯ááºáááºá á¥ááá¬á¡á¬ážááŒáá·áºá á¡áá»áá¯á·áá±á¬á á¬áá»ááºááŸá¬áá»á¬ážááẠááá¯ááºáá»á¬ážá https ááá¯á·áá°ážááŒá±á¬ááºážááŒááºážááᯠááá·áºááœááºážá ááºážá á¬ážááŒááºážáááŸááá±á¬ áá¯á¶á á¶áá±á¬ááºážáá áºáá¯ááᯠá¡áá¯á¶ážááŒá¯á áá¯ááºáá¯ááºáá«áá
- "HTTPOnly" ááŸáá·áº "secure" á¡áá¶áá»á¬ážááá«áá±á¬ ááœááºáá®ážáá»á¬ážá
"HTTPOnly" áááºááœáŸááºážáá»ááºááẠááá¯ááºááá¯ááºáá°áá»á¬ážááẠá¡áá¯á¶ážááŒá¯áá°áá±áá¬ááᯠááá¯ážáá°ááẠá¡áá¯á¶ážááŒá¯ááá·áº Script áá»á¬ážááŒáá·áº ááœááºáá®ážáá»á¬ážááᯠáá¯ááºáá±á¬ááºááŒááºážá០áá¬ááœááºáá±ážáááºá "áá¯á¶ááŒá¯á¶áá±á¬" á¡áá¶ááẠááœááºáá®ážáá»á¬ážááᯠááŸááºážáááºážáá±á¬á á¬áá¬ážááŒáá·áº áá±ážááá¯á·ááœáá·áºáááŒá¯áá«á ááœááºáá®ážáá»á¬ážáá±ážááá¯á·ááẠáá¯á¶ááŒá¯á¶áá±á¬ HTTPS áááá¯ááá¯áá±á¬ááᯠá¡áá¯á¶ážááŒá¯ááŸáᬠáááºááœááºáá±ážááᯠááœáá·áºááŒá¯áá«áááºá
áááºááœáŸááºážáá»ááºááŸá áºáá¯áá¯á¶ážááᯠcookie áá¯ááºááá¹áááá»á¬ážááœáẠáááºááŸááºáá¬ážáááº-
Set-Cookie: Secure; HttpOnly
áá¬á¡áá¹ááá¬ááºááŸááá²á: á¡áááºá site developer ááẠá¡ááá¯áá« attribute áá»á¬ážááᯠááááºááŸááºáá«áá ááá¯ááºááá¯ááºáá°ááẠá¡áá¯á¶ážááŒá¯áá°á á¡áá»ááºá¡áááºááᯠcookie á០ááŒá¬ážááŒááºááŒá®áž áá¯ááºáá°ááá¯ááºáááºá ááœááºáá®ážáá»á¬ážááᯠá á áºááŸááºááŒá±á¬ááºážááŸáá·áº ááœáá·áºááŒá¯áá»ááºá¡ááœáẠá¡áá¯á¶ážááŒá¯áá«áá áá°ááẠá¡áá¯á¶ážááŒá¯áá°á á ááºááŸááºááᯠááá¯ážáá°ááá¯ááºááŒá®áž áááºážáááá¯ááºá á¬áž áááºááá¯ááºáá±á«áºááœáẠáá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááᯠáá¯ááºáá±á¬ááºááá¯ááºáááºááŒá áºáááºá
áááºáá±á¬á·ááºáá²áá±ážáá¬ážáá°ááẠá¡áááºá¡áá¬ááᯠááŸááºáá¬ážáá¬ážááá·áºááááºážá: á ááºážáááºážá¡ááá¯ááºážá áá°ááŒáá¯ááºáá»á¬ážáá±á¬áá±á¬ááºáá»á¬ážááœáẠá€á¡ááºá¹áá«áááºáá»á¬ážááᯠá¡ááá¯á¡áá»á±á¬ááºáááºááŸááºáá±ážáá«áááºá ááá¯á·áá±á¬áº áááºáá¬áᬠááœá²á·á ááºážááŸá¯áá¯á¶á á¶ááᯠá á áºáá±ážááŒá®áž á¡áá¶ááᯠáááºááŸááºáá«- Set-Cookie HttpOnly; áá¯á¶ááŒá¯á¶á¡á±á¬ááºá
á€ááá á¹á ááœááºá "HTTPOnly" áááºááœáŸááºážáá»ááºááẠááá·áºááá¯ááºááá¯áẠJavaScript á០cookies áá»á¬ážááᯠáááŒááºááá¯ááºá á±áááºááŒá áºáááºá
- Path-Based Vulnerabilities
áá°ááááŸááºááŒá¬ážáááºáá±á¬ááºááá¯ááºáá±á¬ ááá¯áẠááá¯á·ááá¯áẠáááºááá¯ááºáááºážááœáŸááºááᯠáá»áŸáá¯á·ááŸááºáá¬ážááá¯ááºáá±á¬ á¡áá»ááºá¡áááºáá»á¬ážááŒáá·áº ááœá±á·ááŸááá«á á áááºáá¬ááẠááá¯á¡á¬ážáááºážáá»ááºááᯠá¡á á®áááºáá¶áá«áááºá á¥ááá¬á¡á¬ážááŒáá·áºá áááºážááẠáá áºáŠážáá»ááºáž á áá áºááœá²á·á ááºážáá¯á¶ááá¯ááºáá»á¬ážááᯠááŸá¬ááœá±ááœá±á·ááŸáááẠááá¯á·ááá¯áẠááá¯ááºá áá áºáá áºáá¯áá¯á¶ážááá¯á· áááºáá±á¬ááºááœáá·áºááᯠáá±á¬ááºááŸááºážáááºá áááºááá¯ááºáá±á«áºááœáẠáááºáá±á¬ááºááœáá·áº á¡ááœáá·áºá¡áá±ážáá»á¬ážááᯠááŸá¬ážááœááºážá áœá¬ áááºááŸááºáá«á á€á¡ááŒá±á¡áá±ááẠááŒá áºááá¯ááºáááºá
áá¬á¡áá¹ááá¬ááºááŸááá²á- á¡áááºá ááá¯ááºá áá áºááẠâááœááºâ ááœá¬ážáá«áá ááá¯ááºááá¯ááºáá°ááẠáááºáááºááŸá¯á áá Ạáá»ááºááŸá¬ááŒááºáá²ááá¯á· áá»áá±á¬ááºááá¯ááºááŒá®áž áááºážááá¯á·ááᯠááŸááºážáááºážáá±á¬ á á¬áá¬ážááŒáá·áº ááááºážáááºážáá¬ážáá«á áááºážááá¯á·ááᯠá áá¬ážááŸááºáá«ááá·áº ááá¯ááºááœá²áá»á¬ážááᯠááŸá¬ááœá±ááẠááŒáá¯ážá á¬ážááá¯ááºáááºá ááá¯á·ááá¯áẠáááºááẠá áá¬ážááŸáẠáááºááºáá»á¬ážááᯠááá¯ážáá°ááá¯ááºááŒá®áž á áá¬ážááŸááºááᯠá¡áááºážá¡ááŒáẠááá¯ážáá°ááá¯ááºááŒá®áž á áá áºá¡ááœááºážááŸá á¡áá°ážá¡ááœáá·áºá¡áá±ážáá»á¬ážááᯠááŒáŸáá·áºáááºáᬠá¡ááŒá±áá¶á¡áá±á¬ááºá¡á¡á¯á¶ááá¯á· ááá¯ááá¯áááºááŸáá¯ááºážá áœá¬ ááœáŸá±á·áááºáááºáž ááŒáá¯ážá á¬ážááá¯ááºáááºá
áááºáá±á¬á·ááºáá²áá±ážáá¬ážáá°ááẠá¡áááºá¡áá¬ááᯠááŸááºáá¬ážáá¬ážááá·áºááááºážá: áááºáá±á¬ááºááœáá·áºá¡ááœáá·áºá¡áá±ážáá»á¬ážá¡ááŒá±á¬ááºáž ááá±á·áá«ááŸáá·áºá ááá¯á·ááŸáᬠáááºáááºážááœáŸááºááᯠâááœááºâ ááẠáááŒá áºááá¯ááºá á±ááẠááááºáá±á¬ááºážá áááºáá¬áá¬á áááºá¡ááºááá®áá±ážááŸááºážááᯠááŒááºáááºáá«á
- á¡ááá¯á¡áá»á±á¬ááºááŒáá·áºá
áœááºááŸá¯ ááœáá·áºáá¬ážááŒááºážááŒáá·áº á¡áá±ážááŒá®ážáá±á¬áá±áá¬ááᯠááá·áºááœááºážááẠáá±á¬ááºáá»á¬ážá
á¡áááºá á¡áá¯á¶ážááŒá¯áá°áá áºáŠážááẠáááºááá¯ááºáá»á¬ážááœáẠáá±á¬ááºáá»á¬ážááᯠáááŒá¬áá ááŒáá·áºá áœááºáá«áá áááºážááá¯á·á ááá±á¬ááºáá¬ááẠá€á¡áá»ááºá¡áááºáá»á¬ážááᯠá¡ááá¯á¡áá»á±á¬áẠááŒáá·áºá áœááºááá·áºá¡ááºá¹áá«áááºááᯠá¡áá¯á¶ážááŒá¯á ááááºážáááºážáá¬ážáááºá
áááºááá¯ááºáá»á¬ážááœáẠáá±á¬ááºáá»á¬ážááœáẠá áá¬ážááŸááºáá»á¬áž ááá¯á·ááá¯áẠááááºáá áºáááºáá¶áá«ááºáá»á¬ážáá²á·ááá¯á· á¡áá±ážááŒá®ážáá±á¬ á¡áá»ááºá¡áááºáá«ááŸáááá·áº á¡ááœááºáá»á¬áž áá«áááºááá¯ááºáááºá ááá¯ááá¯á·áá±á¬á¡ááœááºáá»á¬ážá¡ááœááºá áááºážááẠááá¯ááºááá¯ááºááá¯ááºááœáẠáá±á¬ááºááŒáá·áºááá·áºáá¯ááºáá±á¬ááºáá»ááºááᯠááááºáá¬ážááá·áºáááºá
áá¬á¡áá¹ááá¬ááºááŸááá²á- á¡áá¯á¶ážááŒá¯áá°áááá±á¬ááºáá¬ááẠá¡áá±ážááŒá®ážáá±á¬á¡áá»ááºá¡áááºáá»á¬ážááᯠááááºážáááºážáá¬ážáá«áá á¥ááá¬á¡á¬ážááŒáá·áº ááŒá¬ážáá±á¬ááºážááŒááºážááŸáá áºááá·áº áááºážááᯠáá±á¬ááºááá¯ááºážááœáẠááá¯ááºááá¯ááºáá°á០ááŒá¬ážááŒááºááá¯ááºáááºá á¡ááŸá áºáá¬áá¡á¬ážááŒáá·áºá á€á¡áá±ážá áááºá¡áá»ááºááᯠáá±á·ááœá¬ážáá±á¬ áááºáá±á¬á·ááºáá²áá±ážáá¬ážáá°ááẠáááºážáá¡áá¯á¶ážááŒá¯áá°áá»á¬ážááᯠáááºááŸááºáá±ážáá±áááºá
áááºáá±á¬á·ááºáá²áá±ážáá¬ážáá°ááẠá¡áááºá¡áá¬ááᯠááŸááºáá¬ážáá¬ážááá·áºááááºážá: á€ááá á¹á ááœááºá áá»áœááºá¯ááºááá¯á·ááœáẠááá¹ááááºáááááá¹ááá áºáá¯ááŸááááº- á¡áááºááŒá±ááŸá¯ááŸáá·áº áá¯á¶ááŒá¯á¶áá±ážá áááºáá±á¬á·ááºáá²á¡ááºáá»ááºáá®áá¬áá áºáŠážááẠá¡áá¯á¶ážááŒá¯áá°á¡ááœá±á·á¡ááŒá¯á¶á¡ááŒá±á¬ááºáž á ááºážá á¬ážáá±áá«áá áá°ááẠá¡ááá¯á¡áá»á±á¬ááºááŒáá·áºááœááºážááŸá¯ááᯠáááááŸáááŸá ááœá±ážáá»ááºááá¯ááºáááºá á¥ááᬠááá¯ááºáá¬ááá¯á· á¡áá±ážááŒá®ážáááºá
áááºááá¯ááºáá«áááºááŸá¯áá¯á¶ážá áœá²ááá¯ááºáááºáááºážááœáŸááºáá»ááºáá»á¬áž - ááááºáá áœááºážá¡áá¯á¶ážááŒá¯áá°áá»á¬ážá¡ááœáẠá¡ááŒá±á¬ááºážá¡áá¬áá»á¬ážá áááºáá±á¬ááºááá¯ááºááŸá¯á¡ááœáẠá¡ááŒá¶ááŒá¯áá»ááºáá»á¬ážáááá±á¬ááºáá¬á¡áá»á¬ážá á¯á¡ááœááºá áááºááẠautocompete="off" attribute ááŒáá·áº á¡ááá¯á¡áá»á±á¬ááºááŒáá·áºááŒááºážááᯠááááºááá¯ááºáááºá á¥ááá¬-
<body> <form action="/my/form/submit" method="get" autocomplete="off"> <div> <input type="text" placeholder="First Name"> </div> <div> <input type="text" id="lname" placeholder="Last Name" autocomplete="on"> </div> <div> <input type="number" placeholder="Credit card number"> </div> <input type="submit"> </form> </body>
áá«áá±ááá·áº Chrome á¡ááœáẠá¡áá¯ááºáááŒá áºáá«áá°ážá áááºážááẠJavaScript ááá¯á¡áá¯á¶ážááŒá¯á ááŸá±á¬ááºááááºážáááºá áááºážáá»ááºáááºážáá áºáá»áá¯ážááᯠááœá±á·ááŸáááá¯ááºáááºá
áá®ááŸá¬ . - X-Frame-Options áá±á«ááºážá
á®ážááᯠááá¯ááºáá¯ááºááœáẠááááºááŸááºáá¬ážáá±á
á€áá±á«ááºážá á®ážááẠáá±á¬ááºá iframeá embed ááá¯á·ááá¯áẠá¡áá¬ááá¹áá¯áááºáá»á¬ážááᯠá¡áá»áá¯ážáááºáá±á¬ááºáááºá áááºážáá¡áá°á¡áá®ááŒáá·áºá áááºááẠááá·áºááá¯ááºáá±á¬ááºá¡ááœááºáž ááá·áºááœááºážááŒááºážááᯠáá¯á¶ážááá¬ážááŒá áºááá¯ááºáááºá áááºážááá¯áá¯ááºáá±á¬ááºáááºá áááºááẠX-Frame-Options ááááºááá¯ážááᯠáááºááŸááºááẠááá¯á¡ááºáááº- ááŒááºážááá¯áá«á ááá¯á·ááá¯áẠáááºááẠX-Frame-Options ááᯠáááºááŸááºááá¯ááºáááº- sameoriginá ááá¯á·áá±á¬áẠiframe ááœáẠááŒáŸá¯ááºááŸá¶ááŒááºážááẠááá·áºááá¯ááááºážááœááºáᬠáááá¯ááºáááºááŒá áºáááºá
áá¬á¡áá¹ááá¬ááºááŸááá²á: ááá¯ááá¯á·áá±á¬ áá±á«ááºážá á®ážáááŸáááŒááºážá¡á¬áž á¡áá¹ááá¬ááºááŸááá±á¬ ááá¯ááºáá»á¬ážááœáẠá¡áá¯á¶ážááŒá¯ááá¯ááºáá«áááºá clickjacking. á€ááá¯ááºááá¯ááºááŸá¯á¡ááœááºá ááá¯ááºááá¯ááºáá°ááẠááá¯ááºáá»á¬ážááááºááœáẠááœáá·áºáááºážááŒááºáá¬áá±á¬áá±á¬ááºáá áºáá¯ááᯠáááºáá®ážááŒá®áž á¡áá¯á¶ážááŒá¯áá°ááᯠááŸáá·áºá á¬ážáááºá á¥ááá¬- ááááºáááºáá°áá»á¬ážááẠáááºááá¯ááºáá áºáá¯ááœáẠáá°ááŸá¯ááœááºáááºá á¬áá»ááºááŸá¬áá»á¬ážááᯠáá±á¬ááºáááºáááºá á¡áá¯á¶ážááŒá¯áá°ááẠá€ááá¯ááºááŸá ááá¯ááºáá áºáá¯ááᯠááŸáááºáá±áááºáᯠáááºáááºá áááºážá¡á á¬ážá ááá áºááᯠááŒá¬ážááŒááºáá¶áááŒá®áž á¡áá¯á¶ážááŒá¯áá°á áá±á¬ááºážááá¯áá»ááºááᯠá¡áááºáááºááá·áº á ááºááŸááºááŸáááá·áº áá°ááŸá¯ááœááºáááºááá¯á· áá±ážááá¯á·áááºá á€áááºááŸá¬ ááá¯ááºááá¯ááºáá°áá»á¬ážááẠá¡áá¯á¶ážááŒá¯áá°ááá¯ááºá á¬áž á áááºážáá»á¬ážáá±ážááá¯á·ááŒááºáž ááá¯á·ááá¯áẠá á¬áááºážááœááºážáá°áá»á¬ážááŸáá·áº ááá¯ááºááºáá»á¬ážááá°áááºážá
á€á¡ááºá¹áá«áááºááᯠááẠáááááºáá«áá ááá¯ááºááá¯ááºáá°ááẠááá·áºá¡ááºááºáá®áá±ážááŸááºážááá¯ááºááᯠá¡áá¹ááá¬ááºááŸááá±á¬ ááá¯ááºáá áºáá¯ááœáẠáá¬ážááá¯ááºáááºá áá°ááẠáááºá áááºááœáŸááºážáá±ážáááá¯áááẠááá¯á·ááá¯áẠááá·áºá¡áá¯á¶ážááŒá¯áá°áá»á¬ážááᯠá áááºáááºá á¬ážáá±áááºá
áááºáá±á¬á·ááºáá²áá±ážáá¬ážáá°ááẠá¡áááºá¡áá¬ááᯠááŸááºáá¬ážáá¬ážááá·áºááááºážááááºáá¬áá¬ááœáẠááœá²ááœá²áá±áá±á¬áááºááá¯ážáá áºáá¯ááŸááá±á¬ X-Frame-Options áá»á¬ážááᯠáááºáá¬áá¬ááœáẠááá¯á·ááá¯áẠload balancer áááºááŸááºáá«á á¡á¬ážáááºážáá»áẠááŒá áºáá±á«áºáá¬ááá¯ááºáááºá á€ááá á¹á ááœááºá áá¬áá¬ááŸáá·áº áá»áááºááœááºáá»áŸá¬ááẠáááºážááá¯á·ááœáẠáá±á¬ááºáá¶áá¯ááºááŸáá·áº ááŸáá¯ááºážááŸááºáá«á ááá¯ááá¯áŠážá á¬ážáá±ážáá±á¬ááŒá±á¬áá·áº áá±á«ááºážá á®ážááᯠááá¯ážááá¯ážááŸááºážááŸááºáž ááŒááºáá±ážáá«áááºá
X-Frame-Options áá±á«ááºážá á®ážáááŒááºážáá»ááºááŸáá·áºáá°áá®áá±á¬áá°áááºážáááºááá¯ážáá»á¬ážááẠYandex áááºááŒáá·áºááŸá¯áá°ááá¯ááºáá±á¬ááºááŸá¯ááᯠá¡ááŸá±á¬áá·áºá¡ááŸááºáá±ážáááá·áºáááºá áááºááŒáá·áºááŸá¯áá°á¡ááœáẠiframes á¡áá¯á¶ážááŒá¯ááŸá¯ááᯠááœáá·áºááŒá¯áááºá áááºáááºáá»á¬ážááœáẠáá®ážááŒá¬ážá ááºážáá»ááºážáá áºáᯠáá±ážááẠááá¯á¡ááºáááºá á¥ááá¬á¡á¬ážááŒáá·áºá nginx á¡ááœáẠáááºááẠáááºážááᯠá€áá²á·ááá¯á· configure áá¯ááºááá¯ááºáá«áááºá
http{ ... map $http_referer $frame_options { "~webvisor.com" "ALLOW-FROM http://webvisor.com"; default "SAMEORIGIN"; } add_header X-Frame-Options $frame_options; ... }
- PRSSI (Path-relative stylesheet áááºááœááºážááŒááºáž) á¡á¬ážáááºážáá»ááºáá»á¬ážá
áááºážááẠááá¯ááºááá¯á¶á á¶ááœáẠá¡á¬ážáááºážáá»ááºáá áºáá¯ááŒá áºáááºá á ááá¯ááºááá¯ááºáá»á¬ážááᯠáááºáá±á¬ááºááŒáá·áºááŸá¯ááẠhref="/my/somefolder/styles.css/" áá²á·ááá¯á·áá±á¬ ááœá±áá»áá¯ážááá·áºááºáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯áá«á ááŒá áºáá±á«áºáá«áááºá á¡áá¯á¶ážááŒá¯áá°ááᯠá¡áá¹ááá¬ááºááŸááá±á¬ á á¬áá»ááºááŸá¬ááá¯á· ááŒááºááœáŸááºážááẠáááºážáááºážááŸá¬áá«á ááá¯ááºááá¯ááºáá°ááẠáááºážááᯠá¡ááœáá·áºáá±á¬ááºážáá°áá«áááºá á á¬áá»ááºááŸá¬ááẠáááºážá url ááœáẠáááºá ááºááá·áºááºáá áºáá¯ááᯠááá·áºááœááºážááŒá®áž á ááá¯ááºááºáá±á«áºááá¯ááŸá¯ááᯠá¡áá¯áá°áááºááŒá áºáááºá á ááá¯ááºáá áºáá¯ááááºáá±á¬ááºááŸá¯á¡á±á¬ááºááœáẠá¡áá¹ááá¬ááºááŸááá±á¬áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááᯠáá¯ááºáá±á¬ááºááá¯ááºááá·áº badsite.ru/âŠ/somefolder/styles.css/ áá²á·ááá¯á·áá±á¬ áá±á¬ááºážááá¯áá»ááºááᯠáááºáááŸááááºááŒá áºáááºá
áá¬á¡áá¹ááá¬ááºááŸááá²á: ááááºáááºáá°ááẠá¡ááŒá¬ážáá±á¬ áá¯á¶ááŒá¯á¶áá±ážááá¯áá±á«ááºááᯠááœá±á·ááŸááá«á á€á¡á¬ážáááºážáá»ááºááᯠá¡áá¯á¶ážáá»ááá¯ááºáááºá ááááºá¡áá±ááŒáá·áºá ááœááºáá®ážáá»á¬áž ááá¯á·ááá¯áẠááá¯áááºáá»á¬ážá០áá¯á¶ážá áœá²áá°áá±áá¬ááᯠááá¯ážáá°ááá¯ááºáááºá
áááºáá±á¬á·ááºáá²áá±ážáá¬ážáá°ááẠá¡áááºá¡áá¬ááᯠááŸááºáá¬ážáá¬ážááá·áºááááºážá: X-Content-Type-Options áá±á«ááºážá á®ážá¡á¬áž- nosniff á¡ááŒá ẠáááºááŸááºáá«á á€ááá á¹á ááœááºá ááá±á¬ááºáá¬ááẠáá¯á¶á á¶áá»á¬ážá¡ááœáẠá¡ááŒá±á¬ááºážá¡áá¬á¡áá»áá¯ážá¡á á¬ážááᯠá á áºáá±ážáááºááŒá áºáááºá á¡áá»áá¯ážá¡á á¬ážááẠtext/css ááŸááœá²á á¡ááŒá¬ážááŒá áºáá«áá browser ááẠáá±á¬ááºážááá¯ááŸá¯ááᯠááááºááá¯á·áá«áááºá
áá±áááºááá¯ááºážááŒá¬ážááá¯ááºáá±á¬ á¡á¬ážáááºážáá»ááºáá»á¬áž
- á
áá¬ážááŸááºá¡ááœááºáá«ááá·áº á
á¬áá»ááºááŸá¬ááᯠáá¯á¶ááŒá¯á¶ááŸá¯áááŸááá±á¬áá»ááºáááºáá
áºáá¯ááŸáá
áºááá·áº áá¬áá¬á០áá±ážááá¯á·ááẠ(á
áá¬ážááŸááºá¡ááœááº(áá»á¬áž) áá«ááŸááá±á¬ HTML áá±á¬ááºááᯠHTTP ááŒáá·áº áá¯ááºáá±á¬ááºáááº)á
áá¯ááºááá¬ážáá±á¬ áá»ááºáááºáá áºáá¯áá±á«áºááŸá áá¬áá¬á០áá¯á¶á·ááŒááºááŸá¯ááẠ"á¡áááºááœááºááŸááá±á¬ áá°áá¬áž" ááá¯ááºááá¯ááºááŸá¯áá»á¬ážááᯠáá¶ááá¯ááºáááºááŸááááºá á á¬áá»ááºááŸá¬ááẠáá¬áá¬á០áááá¯ááºážááá·áºáá¶ááá¯á· ááœá±á·áá»á¬ážááœá¬ážáááŒáá·áº ááá¯ááºááá¯ááºáá°ááẠáááºážááŒá±á¬ááºážááᯠááŒá¬ážááŒááºááŒá®áž áááá¯ááºážááá·áºááŸáá·áº áá¬áá¬ááŒá¬ážááœáẠáááºáááºááá¯ááºáááºá
áá¬á¡áá¹ááá¬ááºááŸááá²á: ááááºáááºáá°ááẠá á¬áá»ááºááŸá¬ááᯠá¡á á¬ážááá¯ážááá¯ááºááŒá®áž ááá¯ááºááá¯ááºáá°á áá¬áá¬ááá¯á· áá±á¬ááºááœá¬ážááá·áº áá»áŸáá¯á·ááŸááºáá±áá¬á¡ááœáẠá¡áá¯á¶ážááŒá¯áá°á¡á¬áž áá±á¬ááºáá áºáᯠáá±ážááá¯á·ááá¯ááºáááºááŒá áºáááºá
áááºáá±á¬á·ááºáá²áá±ážáá¬ážáá°ááẠá¡áááºá¡áá¬ááᯠááŸááºáá¬ážáá¬ážááá·áºááááºážáâ á¡áá»áá¯á·áá±á¬ááá¯ááºáá»á¬ážááẠá áá¬ážááŸááºá¡á á¬áž áá¯á¶ážá áœá²áá°áá»á¬ážá¡á¬áž á¡á®ážáá±ážááº/áá¯ááºážááŒáá·áº áá áºááŒáááºáá¯ááºáá áºáᯠáá±ážááá¯á·áááºá á€ááá á¹á ááœááºá á¡á¬ážáááºážáá»ááºááẠá¡ááœááºá¡áá±ážááŒá®ážáá±á¬áºáááºáž ááá¹ááá¬ážááẠá¡áá¯á¶ážááŒá¯áá°áá»á¬ážáááááᯠááŸá¯ááºááœá±ážá á±áááºááŒá áºáááºá
- ááá¯á¶ááŒá¯á¶áá±á¬áá»ááºáááºáá
áºáá¯ááŸáá
áºááá·áº á¡áá±á¬áá·áºáááºááŒááºážááŸáá·áº á
áá¬ážááŸááºááŒáá·áº áá±á¬ááºáá
áºáá¯áá±ážááá¯á·ááŒááºáž (Login Form ááᯠHTTPS ááŸáá
áºááá·áº ááááºááŒáá«)á
á€ááá á¹á ááœááºá á¡áá±á¬áá·áºáááºááŒááºážááŸáá·áº á áá¬ážááŸááºáá«ááŸááá±á¬ áá±á¬ááºáá¯á¶á á¶ááᯠáá¯ááºááá¬ážáá±á¬ áá»ááºáááºááŸáá áºááá·áº áá¬áá¬ááá¯á· á¡áá¯á¶ážááŒá¯áá°áᶠáá±ážááá¯á·áááºá
áá¬á¡áá¹ááá¬ááºááŸááá²á: ááááºááá á¹á ááŸáá·áº ááá°áá²á áááºážááẠá¡áá±ážááŒá®ážáá±á¬ á¡á¬ážáááºážáá»ááºáá áºáᯠááŒá áºáá±áá«ááŒá®á á¡áá±ážááŒá®ážáá±á¬áá±áá¬ááᯠááŒá¬ážááŒááºááẠáá¯ááºáá±ážáááºáááºáááá¯á¡ááºáá±á¬ááŒá±á¬áá·áº ááŒá¬ážááŒááºáááºááá¯ááá¯ááœááºáá°áááºá
- ááááŸááá¬ážáá±á¬ á¡á¬ážáááºážáá»ááºáá»á¬ážááŒáá·áº JavaScript á
á¬ááŒáá·áºááá¯ááºáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯ááŒááºážá
á áááºááºáááºáá±á ááºá¡ááœááºážá á¡áá¯á¶ážá¡áá»á¬ážáá¯á¶ážá á¬ááŒáá·áºááá¯ááºááŸá¬ áá¬ážááŸááºážáá»á¬ážá áœá¬ááŸááá±á¬ jQuery ááŒá áºáááºá áá¬ážááŸááºážáá áºáá¯á á®ááœáẠá¡á¬ážáááºážáá»ááºáá»á¬áž á¡áááºážáá¯á¶ážáá áºáᯠááá¯á·ááá¯áẠááá¯á·áááºááá¯á ááááá¯ááºáááºá á¡á¬ážáááºážáá»ááºá ááá±á¬ááá¬ááá±á«áºáá°áááºá áááºáá±á¬ááºááŸá¯ááẠá¡ááœááºááœá¬ááŒá¬ážááá¯ááºáá«áááºá
áá¬á¡áá¹ááá¬ááºááŸááá²á: áá°áááá»á¬ážáá±á¬ á¡á¬ážáááºážáá»ááºáá»á¬ážá¡ááœáẠá¡áá¯á¶ážáá»ááŸá¯áá»á¬áž ááŸááááºá á¥ááá¬-
áááºáá±á¬á·ááºáá²áá±ážáá¬ážáá°ááẠá¡áááºá¡áá¬ááᯠááŸááºáá¬ážáá¬ážááá·áºááááºážá: áááºáááºááŸá¯ááá¯á· áá¯á¶ááŸááºááŒááºááœá¬ážáá«- ááááŸááá¬ážáá±á¬ á¡á¬ážáááºážáá»ááºáá»á¬ážááᯠááŸá¬ááœá±áá« - ááŒááºáááºáá« - á á áºáá±ážáá«á á¡áááºá áááºááẠá¡ááœá±á¡ááŸá áºá á¬ááŒáá·áºááá¯ááºáá»á¬ážááᯠááááºááᬠá¡áá¯á¶ážááŒá¯áá«áá á¥ááá¬á¡á¬ážááŒáá·áº ááá±á¬ááºáá¬á¡áá±á¬ááºážáá»á¬ážááᯠáá¶á·ááá¯ážááẠááá¯á·ááá¯áẠááœá±á á¯áááºá ááááŸááá¬ážááá·áº á¡á¬ážáááºážáá»ááºááᯠááŒááºáááºááẠá¡ááœáá·áºá¡áá±ážááᯠááŸá¬ááœá±áá«á - Cross-site scripting (XSS)á
Cross-Site Scripting (XSS) ááá¯á·ááá¯áẠcross-site scripting ááẠáá±áá¬áá±á·á áºáá²ááá¯á· malware ááá·áºááœááºážáá¬ááŒááºážááŒá±á¬áá·áº áááºá¡ááºááá®áá±ážááŸááºážááᯠááá¯ááºááá¯ááºááŒááºážááŒá áºáááºá á¡áááºá Qualys ááẠááá¯áá²á·ááá¯á·áá±á¬ á¡á¬ážáááºážáá»ááºááᯠááœá±á·ááŸááá«áá ááŒá áºááá¯ááºáá»á±ááŸááá±á¬ ááá¯ááºááá¯ááºáá°ááẠá¡áá¹ááá¬ááºááŸááá±á¬ áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááᯠáá¯ááºáá±á¬ááºááẠááá¯ááºáá¯ááºááá¯á· áááºážáááá¯ááºááá¯áẠjs script ááᯠááááºáááºááŒá®ážááŒá áºááŒá±á¬ááºáž ááá¯ááá¯áá«áááºáXSS ááᯠááááºážáááºážáá¬ážáááºá á¡áááºááŒá±á¬áá·áºááá¯áá±á¬áº script ááᯠserver ááœááºááá·áºááœááºážááŒá®áž browser ááœááºááá¯ááºááá¯ááºáá¶ááá±á¬á á¬áá»ááºááŸá¬ááá¯ááœáá·áºááá¯ááºážáá¯ááºáá±á¬ááºáá±á¬ááŒá±á¬áá·áºááá¯ááá¯á¡áá¹ááá¬ááºááŸááááºá
XSS ááᯠáá±á¬ááºááŒááºáááºáááºá á¡áá¹ááá¬ááºááŸááá±á¬ script ááᯠHTTP áá±á¬ááºážááá¯áá»ááºáá²ááá¯á· ááá¯ážááœááºážááá¯ááºáá±á¬ááŒá±á¬áá·áº áá¯ááºáá±á¬ááºááẠááá¯ááá¯ááœááºáá°áááºá á¡ááá®áá±ážááŸááºážááẠHTTP áá±á¬ááºážááá¯áá»ááºááᯠáááºáá¶áááŸááááºááŒá áºááŒá®ážá áá±áá¬ááᯠá¡áááºááŒá¯áááºááá¯ááºáá«á áááºážááᯠáá¯ááºááá¯ážáááºááŒá áºááŒá®áž áááºážááá¯áá»ááºáá»ááºážáá±ážááá¯á·áááºááŒá áºáááºá á¡áááºá ááá¯ááºááá¯ááºáá°ááẠá¡ááœá¬ážá¡áá¬ááᯠááŒá¬ážááŒááºááŒá®áž áá²á·ááá¯á·áá±á¬ áá¬ááºááœáŸááºážáá áºáá¯ááᯠááá·áºááœááºážáá«áá
<script>/*+ÑÑП+ÑП+Ð¿Ð»ÐŸÑ ÐŸÐµ+*/</script>
ááá¯á·áá±á¬áẠáá¯á¶ážá áœá²áá°ááá¯ááºá á¬áž áááá¯áá¬ážá¡ááºáá±á¬ áá±á¬ááºážááá¯áá»ááºááᯠáá±ážááá¯á·áá«áááºá
XSS á áá°ážááŒá¬ážáááºááŸá¬ážáá±á¬ á¥ááá¬áá áºáá¯- js ááẠCVC ááá·áºááœááºážááŒááºážá¡ááœáẠá á¬áá»ááºááŸá¬áá»á¬ážá áááºáááºáááºážáá¯ááºáá¯á¶ážáááºá áœá²ááŸáá·áº á¡ááŒá¬ážá¡áá¬áá»á¬ážá¡ááœáẠá á¬áá»ááºááŸá¬áá»á¬ážááᯠá¡áá¯áá°ááá·áº sniff áá±ážáááºá
áááºáá±á¬á·ááºáá²áá±ážáá¬ážáá°ááẠá¡áááºá¡áá¬ááᯠááŸááºáá¬ážáá¬ážááá·áºááááºážáâ á¡ááŒá±á¬ááºážá¡áá¬-áá¯á¶ááŒá¯á¶áá±áž-áá°áá«á áá±á«ááºážá á®ážááœááºá áá¯á¶ážá áœá²áá°ááá±á¬ááºáá¬á¡á¬áž áá¯á¶ááŒááºá áááºáá»ááá±á¬á¡áááºážá¡ááŒá áºá០áá¯ááºáá»á¬ážááá¯áᬠáá±á«ááºážáá¯ááºáá¯ááºááŒá®áž áá¯ááºáá±á¬ááºááẠscript-src áááºááœáŸááºážáá»ááºááᯠá¡áá¯á¶ážááŒá¯áá«á á¥ááá¬á¡á¬ážááŒáá·áºá script-src 'self' ááẠáá»áœááºá¯ááºááá¯á·á site á០scripts á¡á¬ážáá¯á¶ážááᯠwhitelists áá¯ááºáá«áááºá
á¡áá±á¬ááºážáá¯á¶ážá¡áá±á·á¡áá»áá·áºááŸá¬ Inline áá¯ááºááŒá áºáááº- ááá¯á¶ááŒá¯á¶áá±á¬ inline áááºááá¯ážááᯠá¡áá¯á¶ážááŒá¯á inline javascript ááá¯áᬠááœáá·áºááŒá¯áá«á á€áááºááá¯ážááẠinline js/css ááᯠá¡áá¯á¶ážááŒá¯ááœáá·áºáá±ážáá±á¬áºáááºáž js ááá¯ááºáá»á¬áž áá«áááºááŒááºážááᯠáá¬ážááŒá áºáá¬ážááŒááºážáááŸááá«á script-src 'self' ááŸáá·áº áá±á«ááºážá ááºááŒá®áž ááŒááºá script áá»á¬ážááᯠáá¯ááºáá±á¬ááºááŒááºážá០ááááºáá¬ážáá«áááºáreport-uri áá¯á¶ážááŒá®áž á¡áá¬á¡á¬ážáá¯á¶ážááᯠááŸááºáááºážááŸááºááŒá®áž áááºážááᯠáááºááá¯ááºááœáẠá¡áá±á¬ááºá¡áááºáá±á¬áºááẠááŒáá¯ážáááºážááŸá¯áá»á¬ážááᯠááŒáá·áºááŸá¯áá«á
- SQL ááá¯ážááŒááºážáá»á¬ážá
á¡á¬ážáááºážáá»ááºááẠáááºááá¯ááºá áá±áá¬áá±á·á áºááᯠááá¯ááºááá¯ááºáááºáá±á¬ááºááá·áº áááºááá¯ááºáá áºáá¯áá²ááá¯á· SQL áá¯áẠááá¯ážááœááºážááá¯ááºááŒá±ááᯠááœáŸááºááŒáááºá á¡áá¯á¶ážááŒá¯áá°áá¶á០áá±áá¬ááᯠáá á áºáá±ážáá«á SQL ááá¯ážááŒááºáž ááŒá áºááá¯ááºáááº- áááºážááᯠááŸááºáááºááŸá¯ ááŸáá áááŸá á á áºáá±ážááŒá®áž áá±ážááŒááºážááŸá¯ááœáẠáá»ááºáá»ááºáž á¡áá¯á¶ážááŒá¯áá«áááºá á¥ááá¬á¡á¬ážááŒáá·áºá áááºááá¯ááºáá áºáá¯áá±á«áºááŸá áá±á¬ááºáá áºáá¯ááœáẠááá·áºááœááºážááŸá¯ááẠáá±áá¬á¡áá»áá¯ážá¡á á¬ážááŸáá·áº ááá¯ááºáá®ááŸá¯ááŸááááŸá áá á áºáá±ážáá«á áááºážááẠááŒá áºáá±á«áºáááºááá¬á¡áá¹ááá¬ááºááŸááá²á: á¡áááºá ááá¯ááºááá¯ááºáá°ááẠá€áá±á¬ááºááœáẠSQL query áá áºáá¯á¡á¬áž ááŒáá·áºááœááºážáá«áá áá°ááẠáá±áá¬áá±á·á áºááᯠáá»ááºá á®ážá á±ááá¯ááºááẠááá¯á·ááá¯áẠáá»áŸáá¯á·ááŸááºá¡áá»ááºá¡áááºáá»á¬ážááᯠáá±á¬áºáá¯ááºááá¯ááºáááºá
áááºáá±á¬á·ááºáá²áá±ážáá¬ážáá°ááẠá¡áááºá¡áá¬ááᯠááŸááºáá¬ážáá¬ážááá·áºááááºážá- ááá±á¬ááºáá¬á០ááœááºáá¬áááºááᯠááá¯á¶ááŒááºáá«ááŸáá·áºá client side ááŸáá·áº server side ááŸá áºáá¯áá¯á¶ážááœáẠááá·áºááá¯ááºááẠáá¬ááœááºááẠááá¯á¡ááºáááºá
áááá¯ááºážááá·áºáááºááœááºá JavaScript ááá¯á¡áá¯á¶ážááŒá¯á á¡ááœááºá¡áááºááŒá¯áá»ááºááá¯áá±ážáá«á
áá¬áááºááŒá®ážáá±á¬ááºáá»á¬ážááœáẠáá«áááºááá·áºáá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááẠáá¬áá¬áá±á«áºááŸá áá¶ááááŒá áºááœááºáá¬ááºáá±á¬ááºáá»á¬ážááᯠááœááºááŒá±á¬ááºááẠáá°áá®áá±ážáá«áááºá áá¬áá¬áá±á«áºááœáẠparameterized database queries ááᯠá¡áá¯á¶ážááŒá¯áááºáááºáž á¡ááŒá¶ááŒá¯áá«áááºá
áááºá¡ááºááá®áá±ážááŸááºážááœáẠáá±áá¬áá±á·á áºááŸáá·áº á¡ááŒááºá¡ááŸááºáá¯á¶á·ááŒááºááŸá¯ á¡ááá¡áá» áááºááá·áºáá±áá¬ááœáẠááŒá áºááœá¬ážáááºááᯠáá¯á¶ážááŒááºáá«á
á¡áá»ááºá¡áááºáá áºáá¯áá¯ááᯠáá»áœááºá¯ááºááá¯á·áááºáá¶áááŸááá±á¬á¡áá« á¡ááŒááºá¡ááŸááºáá¯á¶á·ááŒááºááŸá¯áááº- á¡áá¯ááºáá®áá áºáᯠ(id áááŒá±á¬ááºážáá²ááŸá¯)á á¡áá¯á¶ážááŒá¯áá°á¡áá áºáááºáá®ážááŸá¯á ááŸááºáá»ááºá¡áá Ạááá¯á·ááá¯áẠáá±áá¬áá±á·á áºá¡ááœááºážááá·áºááœááºážááŸá¯á¡áá áºáá»á¬ážáá«ááŸáááá·áº áá±á¬ááºážááá¯ááŸá¯áá áºáá¯á á€áá±áá¬ááœáẠSQL ááá¯ážááœááºážááŸá¯áá»á¬áž ááŒá áºááœá¬ážááá¯ááºáááºá áá±áá¬áá±á·á áºá០ááŸááºáááºážáá áºáá¯ááᯠáá»ááºááá¯ááºáá»áŸááºááẠSQL ááá¯ážááŒááºáž ááŒá áºááá¯ááºáááºá
á¡ááœá±ááœá±á¡ááŒá¶ááŒá¯áá»ááºáá»á¬áž
áá®ážááᯠááŒááºáááºááá®ááœááºáá«ááŸáá·áºá áááºáá±ááŒáá¬ážáá±á¬áá±á¬ááºáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯áá«á. á ááºážáááºážá¡ááá¯ááºážá áá°ááŒáá¯ááºáá»á¬ážáá±á¬áá±á¬ááºáá»á¬ážááẠááá¯ááá¯á¶ááŒá¯á¶áááºá .NET á¡ááœáẠ- ASP.NET MVC ááŸáá·áº ASP.NET Coreá Python - Django ááá¯á·ááá¯áẠFlask á¡ááœááºá Ruby - Ruby on Rails á¡ááœááºá PHP á¡ááœáẠ- Symfonyá Laravelá Yii á¡ááœááºá JavaScript - Node.JS-Express.js á¡ááœáẠJavaá - Spring MVC á
áá±á¬ááºážáá»áá° á¡ááºááááºáá»á¬ážááᯠááá¯ááºáá¬ááŒá®áž áá¯á¶ááŸáẠá¡ááºááááºáá¯ááºáá«á. áááºážááá¯á·ááẠá¡á¬ážáááºážáá»ááºáá áºáá¯ááᯠááŸá¬ááœá±á·áááºááŒá áºááŒá®ážá ááá¯á·áá±á¬áẠexploit áá áºáá¯áá±ážáᬠáááºážááᯠáá°ááááŸááºááŒá¬ážááŒá áºá á±áááºááŸáá·áº á¡áá¬á¡á¬ážáá¯á¶áž áááºáá¶ááŒá áºáá¬áááºááŒá áºáááºá áá±á¬á·ááºáá²áá±á¬ááºážáá»áá°áá¶á០áááºááŒáááºáá±á¬áá¬ážááŸááºážáá»á¬ážááá¯á· á¡ááºááááºáá»á¬ážááᯠá á¬áááºážááœááºážáá«á
áááºáá±á¬ááºááœáá·áºááᯠá á áºáá±ážáá«á. áá¬áá¬áááºááœááºá ááá·áºáá¯ááºááᯠáááá á¬áá¯á¶ážá០áá±á¬ááºáá¯á¶ážá á¬áá¯á¶ážá¡ááá ááá·áºááá¯ááºááᯠáá±á¬ááºáá»ááºááá¯áá±á¬á ááá·áºáá±áá¬á áá¯ááºáááá¹áá¬ááᯠáá»áá¯ážáá±á¬ááºááá¯áá±á¬ ááá·áºá¡áá¯ááºážáá¯á¶ážáááºáá°á áá±ážáá¬ážááá²á·ááá¯á· á¡ááŒá²áááºáá¶áá«á ááá¯á·á¡ááŒááºá áá áºáá«áá áºáᶠá€áááºááŸá¬ ááŸááºáá«áááºá
áá¯á¶áá°ááœá¬ážáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯áá«á á ááºážáááºááá¯ááºáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯áá«á ááá¯á·áá±á¬áẠáááºážááá¯á·ááᯠáá¯ááºáá¯ááºáááºá¡ááœáẠá¡áá¯á¶ážááŒá¯áá«á. áááºážááẠááááŠážá áœá¬á á¡áá»áá¯ážááŒá áºááœááºážáá±á¬ áááºáááºážáá»ááºááœáẠá¡ááŸá¬ážáá»á¬ážááŸáá·áº á¡ááŸá¬ážáá»á¬ážááᯠááŸá±á¬ááºááŸá¬ážááẠáá°áá®áá±ážáááá·áºáááº- ááŒá áºááœááºážáá±á¬ áááºáááºážáá»ááºááẠááœá±ááᯠáá°áá±á¬ááºáá¬áá¬á ááá¯ážááŸááºážáá±á¬ ááŒá áºááœááºážáá±á¬ áááºáááºážáá»ááºááẠá¡áá±ážááŒá®ážáááºá ááŒá¿áá¬áá áºáá¯áá¯ááᯠáá±á«ááºážááá·áºááŒááºážá ááŒá¯ááŒááºááŒááºáž ááá¯á·ááá¯áẠááááºááŒááºážááá¯á· ááŒá¯áá¯ááºááá·áºá¡áá«á á ááºážáááºááŸá¯áááºáááºážáá»ááºááœáẠáá¯ááºáá±á¬ááºááááºááŒá áºááŒá®áž ááœá±á·ááŸááááá·áº áá¯ááºáá±á¬ááºááá¯ááºá áœááºážááŸáá·áº á¡á¬ážáááºážáá»ááºáá»á¬ážááᯠá á áºáá±ážáᬠáá¯ááºáá¯ááºááŸá¯áááºáááºážáá»ááºááŸáá·áº áá¯ááºáá±á¬ááºááẠá á®á ááºáá±á¬ááºááœááºááá·áºáááºá
ááá·áºáááºá¡ááºááá®áá±ážááŸááºážááᯠáá¬ááœááºáá«á
source: www.habr.com