2010-09-29 5 views
1

J'ai deux applications où les utilisateurs peuvent soumettre des pages HTML. Je voudrais m'assurer qu'aucun script n'est inclus dans le HTML. Normalement, vous échapper au contenu pour se débarrasser des scripts, mais comme c'est HTML, je ne peux pas le faire. Quelqu'un avec de bonnes suggestions sur la façon de faire cela? Les applications sont écrites en C# et JavaDétection de javascript en HTML

Répondre

1

OWASP a project html gommage et css

+0

Cela semble intéressant, allez y jeter un coup d'oeil. – Tomas

1

La première chose que je ferais est de voir s'il y a une balise <script> dans le code HTML. Cela résout le premier problème, alors vous devez vous assurer qu'il n'y a pas d'événements onmouseover/onclick etc. Vous pourriez peut-être utiliser un analyseur DOM pour passer en revue tous les éléments et supprimer tous les attributs commençant par «activé». J'ai peu ou pas d'expérience dans les deux C# en tant que Java, donc je ne connais pas de solutions "plus faciles" qui sont déjà disponibles. Mais peut-être que quelqu'un d'autre ici a une meilleure idée pour ça.

+0

Habituellement, il est beaucoup plus sûr de décider ce que vous permettez, plutôt que d'essayer d'enlever les choses que vous DISALLOW. – sje397

+0

@ sje397 J'ai l'impression qu'il ne veut pas autoriser le javascript. Et vous auriez encore besoin de "retirer" les choses que vous interdisez, non? Si vous voulez autoriser du javascript, il existe d'autres risques de sécurité (comme obtenir le document.cookie et l'envoyer à un emplacement distant .. piratage de session, redirection d'emplacement, etc.) – CharlesLeaf

+0

Oui, j'ai aussi cette impression. Mais je pense au côté serveur, vous devez analyser le code HTML et autoriser uniquement les types d'éléments et les attributs correspondants d'une liste blanche. Avoir une liste de ce qui est permis est beaucoup plus facile que d'essayer de couvrir tous les cas de choses que vous voulez exclure. – sje397

Questions connexes