¿Es posible la inyección de código en .NET?

3

Me pregunto si la inyección de código es posible para aplicaciones web basadas en .NET según se define en OWASP . Después de realizar una investigación sobre .NET y inyección de código , hay algo que se llama inyección de código en el contexto de .NET (como this ) pero no tiene relación con la inyección de código en las aplicaciones web.

El ejemplo predeterminado para la inyección de código (de acuerdo con la definición de OWASP) es contra las aplicaciones de PHP, donde el código se crea de manera dinámica de tal manera que depende de la entrada del usuario y luego se ejecuta a través de eval() . ¿Hay algo parecido para .NET?

    
pregunta countermode 09.02.2017 - 13:04
fuente

2 respuestas

2

La forma más fácil en la que puedo pensar hacer la inyección de código en la aplicación web .Net es permitir la carga de archivos y permitir al usuario cargar un archivo de plantilla Razor (.cshtml o .vbhtml), y permitir que el usuario solicite / ejecute eso.

Como se mencionó en los comentarios, la Reflexión del Sistema también es muy poderosa y podría, en teoría, usarse para inyectar código.

    
respondido por el user52472 09.02.2017 - 15:25
fuente
-1

La respuesta general es sí, hay inyecciones de código en .NET.

Aquí hay algunos ejemplos:

  • Inyecciones de SQL (si utiliza consultas ad-hoc basadas en la entrada del usuario
  • Inyecciones XSS (explotando vulnerabilidades de su back-end para modificar su código de front-end)
  • Acceso a archivos no autorizados (por ejemplo, ataques de nullbyte u otros ataques de carga de archivos)

Los pasos de prevención que a menudo se pasan por alto son:

  • Restringir (validar entrada)
  • Rechazar (rechazar entradas incorrectas conocidas)
  • Desinfectar (cuidado con entradas inseguras como '";) - /)

Guía de MSDN para la prevención de inyecciones para .NET

    
respondido por el Max Larionov 09.02.2017 - 15:36
fuente

Lea otras preguntas en las etiquetas