¿Puede haber vulnerabilidades de desbordamiento/desbordamiento del búfer en el portal web asp.net completamente administrado? En caso afirmativo, ¿cómo puede probarse esto?Es posible el desbordamiento/desbordamiento del búfer en la aplicación web asp.net C# completamente administrada
Respuesta
No, a menos que explote el servidor web o la pila .NET/ASP.NET.
En el caso general, no necesita preocuparse por los desbordamientos del búfer. Esta es una de las principales ventajas del código administrado, la recolección de basura es quizás la otra gran ventaja.
Hay algunos casos extremos que debe tener en cuenta: cada vez que su código administrado interactúa con código no administrado (llamadas API Win32, interoperabilidad COM, P/Invoke, etc.) existe la posibilidad de sobrepasamientos de búfer en el no administrado código, basado en parámetros pasados desde el código administrado.
También el código marcado como "inseguro" puede manipular directamente las direcciones de memoria de forma tal que cause un desbordamiento del búfer. Sin embargo, la mayoría del código de C# se escribe sin utilizar la palabra clave "inseguro".
Tenía una herramienta (HP Dev Inspect) detecté un posible "Desbordamiento de búfer de parámetros posible" dentro de mi aplicación ASP.NET y era porque no teníamos MaxLength = "20" en uno de nuestros cuadros de texto.
Diferente tipo de desbordamiento de búfer, bien tipo de. Si el valor de su cuadro de texto se pasa sin marcar a, digamos, un parámetro de SQL, podría causar estragos, o si se pasa a una función que no esperaba el texto completo de "Call of Cthulu" para un parámetro, podría comportarse mal. Sepa que los usuarios inteligentes (como los que usan la extensión de desarrollador web de FF) pueden simplemente desactivar MaxLength. Es una defensa de conveniencia, no algo con lo que deberías contar. Siempre debe verificar la longitud de entrada del usuario si va a importar. – Broam
- 1. ¿Es posible usar una DLL creada usando C# en una aplicación VC++ no administrada?
- 2. ¿Es posible el desbordamiento de búfer de PHP?
- 3. ASP.NET MVC Aplicación web vs Aplicación web ASP.NET
- 4. Llamando al servicio web ASP.net desde la aplicación C#
- 5. ¿Cómo ejecutar ASP.NET C# aplicación web localmente?
- 6. ¿Una solución de base de datos completamente administrada?
- 7. Cómo configuro el tamaño del búfer y el tamaño máximo del mensaje en la API web de ASP.NET
- 8. Gestión del conjunto de búfer con C#
- 9. Problemas al implementar la aplicación web asp.net
- 10. ¿Es posible ejecutar un trabajo cron en una aplicación web?
- 11. Interproceso Comunicación entre la aplicación C# y la aplicación C++ no administrada
- 12. ¿Es posible evitar completamente los moldes de estilo C en C++?
- 13. Arquitectura para la nueva aplicación web ASP.NET
- 14. Buscando la derecha aplicación búfer de anillo en C
- 15. asignando memoria "no administrada" en C#
- 16. ¿Es posible? GUI en C#, aplicación en C++
- 17. ejecución del applet en la aplicación web
- 18. ¿Es posible crear una aplicación web asp.net mvc compatible con ms .net y mono?
- 19. Implementación de la aplicación web Asp.net MVC
- 20. Acceda al almacenamiento web desde el servidor, ¿es posible?
- 21. Despliegue de la aplicación web ASP.NET
- 22. ¿Es posible desactivar C++ assert desde la aplicación .net
- 23. ¿Es posible mostrar un formulario en lugar de la ventana emergente desafío/respuesta para una aplicación web asp.net?
- 24. ¿Es posible llamar a una DLL administrada desde C++ no administrado?
- 25. Compartiendo sesión entre el servicio web y la aplicación asp.net
- 26. ¿Es posible crear un servicio web statefull en C#?
- 27. Creando la aplicación GUI completamente en QtScript, ¿cuál es su opinión?
- 28. Liberar la memoria no administrada del C# administrado con el puntero del mismo
- 29. ¿Es posible implementar una aplicación ASP.NET como aplicación de escritorio (con componente de servidor)
- 30. Buscar pérdida de memoria en la aplicación web ASP.NET
¿Puede explicar más por favor? –
Si su código está completamente administrado, entonces no hay forma de que el buffer desborde el código que USTED escribe. Pero el stack (.NET y demás) sobre el que está construido no está escrito en código administrado puro, por lo que existe la posibilidad de explotar esos, incluso si es pequeño. –
Muchas gracias por su respuesta. –