2009-11-02 10 views
0

Un utilisateur m'a envoyé des informations qu'il a publiées sur l'une de mes pages avec des problèmes XSS potentiels. Cependant, en regardant le code côté serveur, je ne pense pas que mon code fonctionnerait correctement.HTML Encoding Form Post

Ils ont dit qu'ils ont envoyé ceci:

forminfo=%27+%7C%7C+%27%27+%7C%7C+%27%25booleantest%3Atrue%2Ctrue%2Ctrue 

J'ai regardé cela et ai travaillé que 27% est un Apostrophy et% 7C est un personnage de tuyau qui pourrait être risqué.

Cependant, si les données arrivent dans mon application dans ce format, elles se bloqueront en raison de la manipulation des chaînes sur les informations postées. Il fait une chaîne divisée sur un caractère deux-points (:). FormInfo est le nom d'un de mes éléments d'entrée HTML

S'il est venu en tant que

forminfo=' || '' || '%booleantest:true,true,true 

alors son plus clair et je peux mieux voir ce qu'ils ont envoyé et comment le code traiteraient l'entrée. Par conséquent, disent-ils qu'ils ont affiché des données de manière cryptée? Est-ce que mon application sait comment traiter les données chiffrées et les décrypter d'une manière ou d'une autre?

Ils n'ont pas eu d'erreur mais si je cours moi-même le code il y a des erreurs.

Pouvez-vous expliquer ce qui aurait pu se passer?

Répondre

1

Voici est URLEncoded données:

forminfo=%27+%7C%7C+%27%27+%7C%7C+%27%25booleantest%3Atrue%2Ctrue%2Ctrue 

Si votre application aurait des problèmes avec:

forminfo=' || '' || '%booleantest:true,true,true 

Ensuite, vous avez effectivement un problème parce que c'est ce que votre utilisateur utile essaie de vous dire.

+0

Il n'y aurait pas de problème avec le décodage mais où se passe le décodage de l'URL? – Jon

+0

Cela se produit automatiquement dans le cadre du pipeline de requêtes pour les variables QueryString. –