Qu'est-ce que CSP nous protège si nous autorisons la sécurité en ligne?
Actuellement, je suis en permettant CSP avec la configuration suivante:
Header set Content-Security-Policy: "default-src 'self' data:; script-src 'self'
'unsafe-inline'; style-src 'self' 'unsafe-inline'; img-src 'self' data:"
Semble qu'il ne fait pas beaucoup pour améliorer la sécurité. La vraie question est en ligne JS. Cela peut être désactivé à tout moment. Permettant dangereux-inline ne nous protège pas de beaucoup, que fait-il de nous protéger?
Merci pour votre temps.
source d'informationauteur Zernel
Vous devez vous connecter pour publier un commentaire.
La
unsafe-inline
option est à utiliser en cas de déplacement ou de réécriture de code en ligne dans votre site actuel n'est pas immédiatement une option, mais vous voulez quand même utiliser des CSP pour contrôler d'autres aspects (tels que l'objet de la src, de la prévention de l'injection de tiers js etc.). Vous avez raisonunsafe-inline
n'offre pas beaucoup de sécurité, car elle permet l'exécution de dangereux dans les scripts de la page et des gestionnaires d'événements.Google CSP Évaluateur est un outil astucieux pour déterminer si votre politique est forte.
Un cas d'utilisation où le
unsafe-inline
option est utilisée peut être trouvé dans Google Développeur Web de la documentation sur le Contenu Politique de Sécurité:Que je suis d'accord, il ne protège pas de beaucoup, le classique, l'exploitation de XSS, est Navigateur d'Exploitation du framework, où vous disposez d'un serveur sur internet, et quand vous obtenez un XSS trou que vous déposez dans "http://bad.example.com/hook.js">, et vous pouvez maintenant contrôler le navigateur de la victime à partir de ce serveur. Vous lui demandez d'ouvrir une fenêtre masquée à persister accès, et puis vous avez bidirectionnel comms de leur navigateur.
Un CSP avec "dangereux-inline" toujours potentiellement permet tout de même de l'exploitation (en supposant que les exploits dans l'espace, vous pouvez injecter), mais il est un peu plus difficile de se connecter au monde extérieur pour recevoir des instructions, ou d'exfiltrer des données.
Cela dit je pense qu'il est toujours possible de faire plus de la même attaques via d'autres canaux si vous pouvez injecter une assez sophistiqué partie client dans une page web.
Avec mon attaquant chapeau sur "auto dangereux-inline" est plus difficile à exploiter, que de ne pas en CSP. J'attends les outils d'attaque pour s'adapter à la faiblesse de la Dsp, mais cela signifie beaucoup de communes exploits sont immédiatement éteint les cartes, ou plus difficile.