Je n'ai pas de répondre précisément à votre question, mais je tiens à souligner que la liste blanche vs liste noire approche pas juste "sympa". Il est important de. Très important. Quand il s'agit de sécurité, chaque petite chose est important. Rappelez-vous que avec le cross-site scripting et cross-site request forgery , même si votre site n'est pas en montrant des données sensibles, un hacker pourrait infecter votre site par l'injection de javascript et de l'utiliser pour obtenir des données sensibles à partir d'un autre site. Ce faisant, il est crucial de bien.
OWASP lignes directrices de spécifier à l'aide d'une liste blanche de l'approche. Conformité à la norme PCI lignes directrices de le préciser dans les normes de codage (car ils se réfèrent tot il OWASP lignes directrices).
Aussi, la version la plus récente de la bibliothèque anti-xss a une belle nouvelle fonction: .GetSafeHtmlFragment() ce qui est agréable pour les cas où vous souhaitez stocker le code HTML dans la base de données et l'afficher à l'utilisateur au format HTML.
Aussi, comme pour le "bug", si vous êtes de codage correctement et en suivant toutes les consignes de sécurité, vous êtes paramétrée à l'aide de procédures stockées, de sorte que les guillemets simples seront traitées correctement, Si vous n'êtes pas de codage correctement, pas sur l'étagère de la bibliothèque va vous protéger entièrement. La bibliothèque anti-xss est destiné à être un outil à utiliser, pas un substitut pour la connaissance. En s'appuyant sur la bibliothèque de le faire pour vous serait attend à un très bon pinceau de très bonnes peintures sans un bon artiste.
Edit Ajoutée
Comme demandé dans la question, un exemple de cas où l'anti xss va vous protéger et HttpUtility ne sera pas:
HttpUtility.HtmlEncode et le Serveur. HtmlEncode ne l'empêchent pas de Cross Site Scripting
C'est, selon l'auteur, bien que. Je n'ai pas testé personnellement.
On dirait que vous êtes sur vos directives en matière de sécurité, de sorte que cela peut ne pas être quelque chose que je dois vous le dire, mais juste au cas où moins de développeurs expérimentés est là la lecture de ce, la raison pour laquelle je dis que la liste blanche d'approche est essentiel, c'est cela.
Maintenant, aujourd'hui, HttpUtility.HtmlEncode peut réussir à bloquer toute attaque là-bas, il suffit de retirer/codage <
et >
, ainsi que quelques autres "est reconnu comme potentiellement dangereux pour la santé" des personnages, mais quelqu'un est toujours en train de penser à de nouvelles façons de rupture dans. Permettant seulement connu-coffre-fort (liste blanche). le contenu est beaucoup plus facile que d'essayer de penser à chaque potentiellement dangereuses bits de l'entrée d'un attaquant pourrait éventuellement jeter à vous (liste noire de l'approche).