he implementado un Request.QueryString["somestr"].ToString();
Proteger mi ser de cross-site scripting
que suprimir este tipo de ataque haciendo HttpUtility.HtmlEncode(Request.QueryString["somestr"].ToString();
todavía tengo un problema por el que un usuario puede hacer:
myfriendlydomain.com /? somestr = '; alerta (WOO XSS SUCCEDED); test ='
¿Cómo puedo evitar que esto suceda?
conforme a lo solicitado:
//Code Behind
if(request.querystring["somestr"] != null)
{
AffiliatesEmail = HttpUtility.HtmlEncode(Request.QueryString["somestr"].ToString();
}
//Front End
<script type="text/javascript">
//<![CDATA[
/*** Do not change ***/
var SomeVAR = {};
SomeVAR.Tracking.Sale.orderRef = '<%= AffiliatesEmail %>';
//]]>
</script>
<script src="https://www.somethirdparty.com/somejscript.js" type="text/javascript" defer="defer"> </script>
Ésta es nuestra aplicación. Cualquier cosa posterior que no creo es relevante.
La información pertinente aquí es _cómo_ la inyección aún puede tener éxito; debe escribirla en alguna parte de la página, porque simplemente agregarla a la cadena de consulta no es suficiente para que funcione. Háganos saber lo que hace con 'Request.QueryString [" somestr "]. ToString();' – Widor
información adicional. – Anicho
Pero todavía no podemos decir dónde termina esta cadena. ¿Qué es 'AffiliatesEmail'? ¿A dónde va su contenido para habilitar un ataque XSS? – Widor