Está en la página 1de 6

ASP.

Net
ASP.NET es un modelo de desarrollo Web unificado que incluye los servicios
necesarios para crear aplicaciones Web empresariales con el cdigo mnimo.
ASP.NET forma parte de .NET Framework y al codificar las aplicaciones ASP.NET
tiene acceso a las clases en .NET Framework. El cdigo de las aplicaciones
puede escribirse en cualquier lenguaje compatible con el Common Language
Runtime (CLR), entre ellos Microsoft Visual Basic, C#, JScript .NET y J#. Estos
lenguajes permiten desarrollar aplicaciones ASP.NET que se benefician del
Common Language Runtime, seguridad de tipos, herencia, etc.
ASP.NET incluye:

Marco de trabajo de pgina y controles


Compilador de ASP.NET
Infraestructura de seguridad
Funciones de administracin de estado
Configuracin de la aplicacin
Supervisin de estado y caractersticas de rendimiento
Capacidad de depuracin
Marco de trabajo de servicios Web XML
Entorno de host extensible y administracin del ciclo de vida de las
aplicaciones
Entorno de diseador extensible

Desventajas:

La principal desventaja es que solo funciona en plataforma Windows.

El programador no lleva el control de las aplicaciones porque ya estn


prediseadas.

Es de licencia propietaria y el costo es muy elevado.

Una de las limitaciones en el desarrollo con ASP.NET es que con el


tradicional utilizamos lenguajes de scriptingno tipeados como VSBcrip o
JScrip. Podemos instalar otros motores scripting que impongan
verificacin de tipos; sin embargo, no son universalmente
conocidos o utilizamos como los anteriores.

Tiene que correr en PCs normales que tengan Windows y un servidor


Web

No se permiten las pruebas de unidad.

El estado de vista puede ser realmente grande o tener efectos

Vulnerabilidades:
El modo Custom Errors
Este es el primero de nuestra lista, ya que, ser uno de los que casi siempre habilitemos
cuando estamos desarrollando una aplicacin web y que es de mucho cuidado.
Una etiqueta comn y vulnerable de esta configuracin sera
<configuration>
<system.web>
<customErrors mode="Off">

Una forma de corregir la vulnerabilidad que se expone a continuacin sera cambiando la


etiqueta por
<configuration>
<system.web>
<customErrors mode="RemoteOnly">

La configuracin anterior se convierte en un problema por una sencilla razn, supongamos


que un Hacker ingresa al sitio y ejecuta una accin, si el customErrors esta en off entonces se
mostrar el error brindando detalles demasiado especficos como:
* La versin de Framework
* Versin de Asp.net
* E inclusive el tipo de excepcin
Que est manejando el servidor. Esta informacin en manos de un hacker sera lo
suficientemente buena como para lograr preparar un ataque contra nuestro sistema.
Por el contrario, si utilizamos la etiqueta customErrors en On o en RemoteOnly el error que se
mostrar ser un error no descriptivo cuando una excepcin sea generada. Otra forma, sera
redirigir al usuario a una pgina de errores predeterminada.
Dejando el Tracing Habilitado
La caracterstica Trace que incluye asp.net es una de las mas apreciadas siendo utilizada para
mejorar la seguridad de nuestras aplicaciones mientras las depuramos. Sin embargo, es
tambin, una de las mejores armas que un Hacker puede utilizar para atacar nuestro sitio si es
utilizada cuando este est en produccin.
Una etiqueta comn y vulnerable de esta configuracin sera
<configuration>
<system.web>
<trace enabled="true" localOnly="false">

Una forma de corregir la vulnerabilidad que se expone a continuacin sera cambiando la


etiqueta por

<configuration>
<system.web>
<trace enabled="false" localOnly="true">

Si el elemento Trace est habilitado para los usuarios remotos y el atributo LocalOnly esta en
false. Un usuario comn vera una lista detallada de peticiones realizadas a la aplicacin
simplemente accediendo a la pgina "trace.axd
Si como mencionamos anteriormente el detalle de una excepcin es un tesoro para un Hacker,
entonces un log de peticiones es algo como cado del cielo.
La mejor manera de evitar que un hacker obtenga de los datos de seguimiento de las
aplicaciones, es desactivar completamente el visor de seguimiento, colocando el atributo del
elemento <trace> a "false". Si usted tiene que tener el visor de seguimiento activado, ya sea
para la depuracin o por el perfil de su aplicacin, asegrese de establecer el atributo
"localOnly" del elemento <trace> a "true". Que permite a los usuarios acceder al visor de
seguimiento slo desde el servidor Web y desactiva la visualizacin desde cualquier equipo
remoto, aumentando la seguridad de su aplicacin.
Dejar el Modo Debug habilitado
Llevar a produccin un sitio que tenga el modo Debug habilitado es un error usual. Cuando se
desarrolla, todas las aplicaciones requieren alguna forma de Debug, por ello, Visual Studio
configura el archivo Web.Config para aceptar el Debug cuando se inicia una aplicacin.
Como sabemos, pasar a produccin un sitio web asp.net, podra ser tan sencillo como copiar
todo el folder del sitio y llevarlo al IIS, pero que pas con el modo debug? Lo hemos dejando
habilitado comprometiendo la seguridad de nuestra aplicacin.
Una etiqueta comn y vulnerable de esta configuracin sera
<configuration>
<system.web>
<compilation debug="true">

Una forma de corregir la vulnerabilidad que se expone a continuacin sera cambiando la


etiqueta por
<configuration>
<system.web>
<compilation debug="false">

Dejar el Debug habilitado, nuevamente mostrara informacin detallada a los usuarios finales a
la que no deberan tener acceso y que puede ser utilizada en muchos casos para atacar
nuestras aplicaciones.
Por ejemplo, si el Debug est habilitado, entonces cualquier mensaje de error mostrado al
usuario final incluyen no slo la informacin del servidor, sino tambin un mensaje de
excepcin detallada y un seguimiento de pila, pero tambin el cdigo fuente real de la pgina

donde se produjo el error.


Por desgracia, esta configuracin no es la nica manera de que el cdigo fuente puede ser
mostrado al usuario
Cookies accesibles desde el lado del Cliente
Desde que se dio la aparicin de IE 6 Microsoft aadi una nueva propiedad para las cookies
denominada HttpOnly. Est propiedad puede ser configurada individual o globalmente.
Una etiqueta comn y vulnerable de esta configuracin sera
<configuration>
<system.web>
<httpCookies httpOnlyCookies="false">

Una forma de corregir la vulnerabilidad que se expone a continuacin sera cambiando la


etiqueta por
<configuration>
<system.web>
<httpCookies httpOnlyCookies="true">

Cualquier Cookie que sea marcada con este atributo ser accesible nicamente desde el lado
del servidor y no podr ser accedida mediante ningn lenguaje de lado del cliente como
Javascript o VBScript, lo cual nos ayuda a evitar los ataques Cross-Site. Una ataque CrossSite se produce cuando un hacker intenta inyectar su propio cdigo en la pagina para burlar la
seguridad. Si una aplicacin acepta el ingreso de datos por un usuario esta expuesta a un
ataque de este tipo.
El modo Cookieless Session State Habilitado
En la versin inicial de Asp.net (1.0), no se tena opcin para trasmitir el Token de las
Sesiones entre las peticiones cuando la aplicacin necesitaba mantener el estado de sesin
(session state), siempre se encontraba almacenado en una Cookie.
Luego de la aparicin de asp.net 1.1, Microsoft agreg soporte para los token de sesin sin
cookies (cookieless session tokens), mediante la utilizacin del atributo cookieless.
Una etiqueta comn y vulnerable de esta configuracin sera
<configuration>
<system.web>
<sessionState cookieless="UseUri">

Una forma de corregir la vulnerabilidad que se expone a continuacin sera cambiando la


etiqueta por
<configuration>
<system.web>
<sessionState cookieless="UseCookies">

Las aplicaciones Web configuradas para utilizar el estado de sesin sin cookies almacenan el
identificador de sesin en la URL de la pgina en lugar de usar una cookie. Por ejemplo, la

URL de la pgina puede cambiar de http://myserver/MyApplication/default.aspx a


http://myserver/MyApplication/ (123456789ABCDEFG) / default.aspx. En este caso,
"123456789ABCDEFG" representa la sesin del usuario actual. Otro usuario que explora
diferentes partes del sitio al mismo tiempo, reciben una sesin completamente diferente
resultando en una direccin URL diferente, como http://myserver/MyApplication/
(ZYXWVU987654321) / default.aspx.
Otras vulnerabilidades son:

Riesgos cuando los usuarios se conectan con CRM a travs de una red no
segura
Recomendaciones de seguridad para las implementaciones de roles de
servidor
Autenticacin annima
Aislar el rol Servidor de Ayuda para las implementaciones con conexin a
Internet
Problemas y limitaciones de la autenticacin basada en notificaciones
Proteccin del archivo web.config
Las llamadas salientes por Internet desde cdigo personalizado
ejecutado por el Servicio de procesamiento de espacios aislados estn
habilitadas
Proteccin de la comunicacin entre servidores
Ataques de reenlace DNS
JavaScript permitido para direcciones URL de Power BI en paneles
personales

Referencias
AVG. (15 de 04 de 2012). Obtenido de
http://avga21.blogspot.mx/2012/04/lenguajes-de-programacion-perlphp.html
Helmilpa. (s.f.). Slideshare.net. Obtenido de
http://es.slideshare.net/Helmilpa/estudio-comparativo-de-php-aspnet-yjava.
Hidalgo, U. A. (Agosto de 2006). uaeh.edu.mx. Obtenido de
http://dgsa.uaeh.edu.mx:8080/bibliotecadigital/bitstream/handle/231104
/349/ASP%20.NET%20orientado
%20web.pdf;jsessionid=F2C4D14AC5FA56257586527DC8CFE7FB?
sequence=1
programacion, E. d. (19 de Noviembre de 2012). Obtenido de
http://appletenhtml.blogspot.mx/2012/11/ventajas-y-desventajas-frentephp-vs-asp.html

También podría gustarte