Incluso sitios famosos como Twitter sufren de vulnerabilidad XSS, ¿qué deberíamos hacer para prevenir este tipo de ataque?Medidas para prevenir la vulnerabilidad XSS (como la de Twitter unos días antes)
Respuesta
Lo # 1 que puede hacer es configurar sus cookies solo a HTTP ... que al menos protege contra el secuestro de cookies de sesión. Como alguien robando su cookie cuando es probable que sea el administrador de su propio sitio.
El resto se reduce a la validación de todas las entradas del usuario.
- REGLA # 0 - Nunca inserte datos no confiables Excepto en ubicaciones animales
- REGLA # 1 - HTML de escape Antes de introducir datos no confiables en HTML Elemento Contenido
- REGLA # 2 - Atributo escapar antes de Inserción de datos no confiables en HTML Atributos comunes
- REGLA # 3 - escape de JavaScript Antes de introducir datos no confiables en datos HTML JavaScript Valores
- REGLA # 4 - escape de CSS Antes de introducir datos no confiables en HTML Estilo de la propiedad Valores
- REGLA # 5 - escape URL Antes de introducir datos no confiables en el URL atributos HTML
muy largo sujetos discute en detalle aquí:
http://www.owasp.org/index.php/XSS_(Cross_Site_Scripting)_Prevention_Cheat_Sheet
http://www.owasp.org/index.php/Cross_site_scripting
XSS es sólo una de las muchas hazañas y cada desarrollador web debe aprender los 10 mejores OWASP de memoria imho
No conozco el código con el que escribe, pero si usa asp.net, está parcialmente cubierto. asp.net tiene lo que llaman validación de solicitud que cuando está habilitado, evita que se introduzcan scripts maliciosos a través de la entrada del usuario.
Pero a veces, tendrá que permitir algún tipo de editor de texto como el que escribió en esta pregunta. En este caso, deberá deshabilitar parcialmente la validación de solicitud para permitir que el usuario final ingrese algún html de "texto enriquecido". En este caso, tendrá que crear algún tipo de mecanismo de filtro de lista blanca.
FYI, no sé otros pero Microsft tiene una biblioteca llamada Anti-Xss.
Al igual que puede hacer que la inyección SQL no sea un problema mediante el uso de declaraciones preparadas, puede hacer que XSS no sea un problema mediante el uso del motor de plantillas (serializador DOM) que hace algo similar.
Diseñe su aplicación para que toda la producción pase a través del motor de plantillas. Haga que HTML de motor de plantillas modifique todos los datos de forma predeterminada. De esta manera, tendrás un sistema que es seguro por defecto y no depende de que los humanos (y el resto del sistema grande) sean diligentes en el escape de HTML.
- 1. Vulnerabilidad aparente de jsonp xss
- 2. Renovación de membresía de iOS unos días tarde
- 3. Comprender la vulnerabilidad de Wordpress
- 4. "Protección Anti-XSS" al agregar)]} 'antes de la respuesta ajax
- 5. Prevenir XSS explota mediante el sistema de tipos como Joel sugirió
- 6. ¿Cómo saber si varios bloques han completado la ejecución antes de tomar medidas?
- 7. Uso de la biblioteca MS Anti XSS para desinfectar HTML
- 8. ¿Cómo llegar 30 días antes de la fecha actual?
- 9. ¿Hay algún recurso en la web que enumere todos los problemas de seguridad de ASP.Net (XSS, etc.) con medidas preventivas?
- 10. ¿Cómo desinfectar el código HTML en Java para prevenir los ataques XSS?
- 11. Prevención de ataques XSS
- 12. Prevenir la 'tecla Enter' para activar TextWatcher
- 13. prevención de XSS en PHP
- 14. Modelado de la distribución de medidas de rendimiento
- 15. CSRF vulnerabilidad/cookies pregunta
- 16. Prevenir la votación doble
- 17. ¿Es esta función suficiente para la detección de xss?
- 18. ¿Prevenir la virtualización de UAC?
- 19. ataques XSS y los atributos de estilo
- 20. Cómo prevenir la piratería para la aplicación java webstart
- 21. OpenCV cv :: Mat 'unos' para matriz multicanal?
- 22. Prevenir HttpClient 4 de la siguiente redirección
- 23. Sanitización de URL para evitar XSS en Rails
- 24. ¿Cómo puedo validar la entrada HTML para evitar XSS?
- 25. ¿Cómo prevenir ataques XSS cuando necesito renderizar HTML desde un editor WYSIWYG?
- 26. PHP Markdown XSS Sanitizer
- 27. ¿Cómo calculo la diferencia de dos medidas de ángulo?
- 28. ¿Cómo tomar medidas para cerrar NSPopover?
- 29. Prevenir la activación de onUpdate of WidgetProvider
- 30. Cómo prevenir cheque nulo antes es igual a
Lamentablemente, MS lib solo es tan/tan ... pero está mejorando. Aquí está la última versión (beta) http://www.microsoft.com/downloads/details.aspx?FamilyId=051ee83c-5ccf-48ed-8463-02f56a6bfc09&displaylang=en –