Autor Tema: Inyección de código en ASP.Net (Cross-Site-Scripting)  (Leído 1635 veces)

Desconectado Danae

  • Iniciado
  • *****
  • Mensajes: 3211
  • Casi siempre en el armario.
    • windowsfacil,  primeros pasos con windows y el pc
Inyección de código en ASP.Net (Cross-Site-Scripting)
« en: 19 de Febrero de 2005, 07:44:31 pm »
Inyección de código en ASP.Net (Cross-Site-Scripting)

Múltiples vulnerabilidades del tipo Cross-Site-Scripting (XSS), han sido reportadas en Microsoft ASP.Net, las cuáles pueden ser explotadas para ejecutar código malicioso (HTML/Javascript), en el navegador del usuario.

ASP.Net es la nueva versión del tradicional ASP (Active Server Pages), lanzada en enero de 2002, y ampliamente utilizada por servidores de todo el mundo para la generación activa de páginas y aplicaciones Web.

El fallo permite que un sitio web construido maliciosamente, pueda eludir las restricciones para ejecutar scripts (archivos de comandos), en ventanas pertenecientes a diferentes dominios (cross-site scripting). Esto es válido para cualquier sitio web o para un archivo local.

El problema se produce cuando se manejan URLs especialmente modificadas para contener caracteres Unicode (conjunto de caracteres ASCII que utiliza dos bytes en lugar de uno para cada carácter). ASP.Net no filtra adecuadamente caracteres especiales utilizados en HTML (tales como '>', '<', y otros). Ello permite la inyección de código en parámetros URLs.

Productos afectados:
- Microsoft ASP.Net Framework versión 1.0
- Microsoft ASP.Net Framework versión 1.0 Service Pack 1
- Microsoft ASP.Net Framework versión 1.0 Service Pack 2
- Microsoft ASP.Net Framework versión 1.1
- Microsoft ASP.Net Framework versión 1.1 Service Pack 1

Aunque Microsoft habría sido avisado el 2 de agosto de 2004, aún con el último parche de seguridad para ASP.NET instalado (a la fecha el MS05-004), igual se produce esta vulnerabilidad.

El problema también afecta a implementaciones libres de .NET Framework de Mono Project:

- Mono, versión 1.0.5

Solución:
No existen soluciones oficiales al momento actual.
Se sugiere utilizar código Unicode solo para la salida en páginas ASP.Net.
Si no se utiliza Unicode, igual se aconseja filtrar el uso de caracteres extensos en cualquier fuente de datos no confiables (entradas de usuario, cabezales HTTP, etc.)

Créditos:
Andrey Rusyaev

Referencias:
Microsoft ASP.NET Multiple Cross Site Scripting Vulnerabilities
http://www.k-otik.com/english/advisories/2005/0182
XSS vulnerability in ASP.Net
http://it-project.ru/andir/docs/aspxvuln/aspxvuln.en.xml

Relacionados:
MS05-004 Validación de rutas en ASP.NET (887219)
http://www.vsantivirus.com/vulms05-004.htm
Publicado en: http://www.vsantivirus.com/vul-aspnet-xss-180205.htm

Desconectado destroyer

  • Administrator
  • ******
  • Mensajes: 15870
  • Si quieres cambiar al mundo, cámbiate a ti mismo
    • cajondesastres.com De todo un poco
Inyección de código en ASP.Net (Cross-Site-Scripting)
« Respuesta #1 en: 19 de Febrero de 2005, 08:44:02 pm »
Gracias danae

Un saludo

 

Aviso Legal | Política de Privacidad | Política de Cookies

el contenido de la web se rige bajo licencia
Creative Commons License