¿Usa IsValid() para validar una dirección de correo electrónico o un formato de URL protegido de XSS? ¿Niega XSS cuando se especifican otros formatos?¿IsValid() protege de XSS?
Respuesta
Una dirección URL válida todavía puede contener un vector de ataque:
<!--- No on CF9 --->
<cfoutput>#isValid("url", "http://www.mydomain.com/products/products.asp?productid=123; DROP TABLE Products")#</cfoutput>
<!--- Yes on CF9: hex encoded ';DROP TABLE Products' --->
<cfoutput>#isValid("url", "http://www.mydomain.com/products/products.asp?productid=123%3B%20%44%52%4F%50%20%54%41%42%4C%45%20%50%72%6F%64%75%63%74%73")#</cfoutput>
Por supuesto lo anterior no es un ataque XSS, pero podría ser cambiado para actualizar lugar columnas con un ataque.
La validación del correo electrónico parece prevenir the attacks I could find.
Como una generalización, isValid()
ayuda a prevenir ataques XSS cuando el tipo de datos es finito - enteros, números de seguro social, UUID, etc .. Sin embargo, there's a laundry list of documented potential attacks contra los campos cuyo único tipo de datos per se 'cadena'. En ese caso, isValid()
no es de ayuda, más bien OWASP's AntiSamy es una herramienta útil para este propósito que atraviesa el DOM y elimina todo lo que no está incluido en la lista blanca.
Best regex to catch XSS (Cross-site Scripting) attack (in Java)? proporciona mucha información útil sobre el tema general de la prevención de XSS.
Y finalmente agotar el tema, utilice:
<cfqueryparam cfsqltype="..." value="...">
actualización
Por último, pero no menos importante, OWASP XSS Cheat Sheet: mejor conjunto de heurísticas que hay para procesar la entrada para evitar XSS.
- 1. brasa-datos isValid, isSaving y isError
- 2. ¿HTTPS protege contra ataques CSRF?
- 3. <%: %> vs Microsoft la biblioteca anti XSS
- 4. Prevención de ataque XSS
- 5. Prevención de ataques XSS
- 6. lo que se protege virtual de nueva
- 7. XSS Torture Test - ¿existe?
- 8. IE8 XSS/Jquery problema
- 9. PHP Markdown XSS Sanitizer
- 10. Librerías java Anti-XSS
- 11. Vulnerabilidad aparente de jsonp xss
- 12. Pregunta/aclaración de PHP XSS
- 13. prevención de XSS en PHP
- 14. ¿Cómo funciona XSS?
- 15. Contraseña que protege un servicio REST?
- 16. ¿Cómo se protege contra XSRF en Grails?
- 17. Archivo Elmah.axd que protege la contraseña
- 18. ¿Actualizar mi modelo y luego volver a evaluar IsValid?
- 19. NSTimer falla, cuando llamo a [Timer isValid] o [Timer invalidate]
- 20. isValid en el formulario zend framework devuelve FALSE
- 21. ¿Es posible que un ataque XSS obtenga cookies HttpOnly?
- 22. Backbone.js y XSS/HTML escapándose
- 23. Anti XSS y Classic ASP
- 24. HTML-Entidad de escape para evitar XSS
- 25. Prevención de XSS (Cross-site Scripting)
- 26. ¿Cómo evitar aplicaciones de ataques XSS?
- 27. ataques XSS y los atributos de estilo
- 28. Función de filtrado XSS en PHP
- 29. Prevención de ataques Javascript y XSS
- 30. Uso de la ontología Protege owl en Android