JASoft.org

Oficina virtual de Correos.es: la odisea de usar una aplicación mal hecha

Oficina virtual de Correos.es: la odisea de usar una aplicación mal hecha
Ya he hablado en otras ocasiones de aplicaciones Web de gran impacto y que están rematadamente mal hechas y sin pensar en el usuario. Ésta vez me toca hablar de la Oficina Virtual de Correos.es, el operador nacional de correo en España. Hace unos días tuve que enviar un Burofax y me dije: "Ya que esta gente tiene una oficina on-line que incluso ha llevado premios, vamos a hacerlo directamente por Internet, que será coser y cantar". ¡Qué error cometí!. El problema más grave fue sin duda el que se refiere a los pagos on-line. Resulta que estableces los parámetros del servicio que quieres utilizar y cuando ya lo tienes en el carrito de la compra te da la opción depagarlo on-line inmediatamente. Para ello debes introducir el número de tu tarjeta de crédito y, en teoría, se procesa el pago y el servicio queda listo para ser gestionado or un atento funcionario (perdón, ahora desde que no son monopolio del Estado son "personal laboral fijo",aunque algún funcionario queda). El problema es qu... [Más]

ASP.NET Membership: Cómo guardar datos adicionales de los usuarios

ASP.NET Membership: Cómo guardar datos adicionales de los usuarios
En los  últimos posts he estado hablando sobre la seguridad de ASP.NET basada en Forms. Esto ha traído algunas preguntas por parte de los visitantes. Una de ellas, bastante común, es la de cómo almacenar información adicional atada a los usuarios que hemos autenticado.La API de Membership que viene con ASP.NET, y en concreto el proveedor de Membership para trabajo contra SQL Server (SqlMembershipProvider) nos provee de los medios suficientes para almacenar la información básica sobre los usuarios, esto es, el nombre, su login y su clave, que es lo mínimo necesario para trabajar. En este gráfico puedes ver la estructura completa creada por ASP.NET (más bien por aspnet_regsql.exe) en nuestra base de datos para dar soporte a SqlMembershipProvider y relacionados.Obviamente casi siempre necesitaremos almacenar mucha más información sobre ellos, relacionándola de manera directa y sencilla para poder extraerla. Así, por ejemplo, podemos necesitar almacenar sus datos de contacto, infromac... [Más]

Seguridad Web: Las cookies de autenticación de ASP.NET y su seguridad

Seguridad Web: Las cookies de autenticación de ASP.NET y su seguridad
En mi anterior post hablaba sobre el funcionamiento de las cookies en los navegadores y de cómo podíamos usar una extensión estándar (HttpOnly) para intentar impedir que las cookies sean accesibles desde el lado cliente y sólo se puedan manejar desde el servidor. No obstante se trata de una medida que, de funcionar, complica un poco a los posibles piratas, pero no es una verdadera barrera de seguridad. Para empezar ni siquiera está soportada por todos los navegadores. Las cookies residen en el disco duro del usuario por lo que son fáciles de manipular por cualquiera. Además se envían al servidor en cada petición, por lo que cualquiera con un proxy estilo Fiddler puede leerlas y manipularlas antes de enviarlas al servidor. Es decir, las cookies son elementos realmente inseguros. A raíz de estas disquisiciones alguien me escribió preguntándome por la seguridad de la autenticación Forms de ASP.NET (la más habitual). Ésta se basa precisamente en la existencia de una cookie que identific... [Más]

Seguridad Web: Evitar ataques XSS con Cookies accesibles sólo desde el servidor

Seguridad Web: Evitar ataques XSS con Cookies accesibles sólo desde el servidor
Una de las técnicas de hacking de páginas web más conocidas es la de Cross-Site-Scripting o XSS. Mediante esta técnica, las aplicaciones Web vulnerables pueden ser atacadas para multitud de propósitos: servir de zombies para atacar a otras Webs inundándolas con peticiones, ejecutar código en zonas de seguridad menos restrictivas (como la local) o, sobre todo, robar la identidad de los usuarios del sitio vulnerable. Ha sido utilizado tradicionalmente en combinación con correos electrónicos maliciosos para entrar en sitios Web protegidos suplantando la identidad de usuarios autenticados. En mi curso de Desarrollo de aplicaciones seguras y seguridad de .NET monto un ejemplo completo de cómo utilizarlo en un supuesto sitio de banca electrónica (muy mal hecha y vulnerable), para robar la sesión del usuario y entrar en su cuenta. Este robo de sesiones se basa en la obtención mediante XSS de la cookie de sesión de un usuario, enviándola a un servidor bajo el control del atacante. Éste al rec... [Más]

Configuración del firewall de Windows para admitir FTP pasivo

Configuración del firewall de Windows para admitir FTP pasivo
Ya de regreso por España aprovecho para comentar un truquillo que he aprendido estos días sobre como configurar el cortafuegos para que admita FTP pasivo. Resulta que en una máquina instalamos un servidor FTP, el cual admite los modos de trabajo Activo y Pasivo. En el modo Activo los clientes se conectan al puerto 21 del servidor FTP usando un puerto cualquiera no privilegiado. Tras hacerlo el cliente se pone a escuchar peticiones a través del puerto inmediatamente superior al que ha usado para la conexión, recibiendo datos a través del puerto 20 del servidor  (es decir el 21 es un puerto para comandos y el 20 el puerto para datos). El problema de esto es que si el cliente se encuentra a su vez detrás de un cortafuegos la conexión no será posible y fallará. En el modo Pasivo todas las conexiones son del cliente al servidor, por lo que no hay problemas con los cortafuegos en el lado cliente, y es el modo más habitual de funcionar. Puedes econtrar todos los detalles en el ar... [Más]

Adobe retrasa tres semanas la solución de una vulnerabilidad crítica en Acrobat Reader y que ya hay gente explotando por ahí

Adobe retrasa tres semanas la solución de una vulnerabilidad crítica en Acrobat Reader y que ya hay gente explotando por ahí
Esta es de las cosas que me deja "flipado" leer. Y lo cierto es que no pasa sólo con Adobe sino con otras empresas muy conocidas. Si hubiese salido una noticia similar con Microsoft ya se habría liado. El caso es que la Shadow Server Foundation avisó el pasado día 19 de una vulnerabilidad en Acrobat Reader que permite la ejecución de código arbitrario en el equipo de los usuarios, dando algunos detalles más el día 21. Por lo visto no se trata de algo realmente nuevo. Ellos simplemente lo han hecho público destacando además que está siendo ampliamente aprovechado en Internet para realizar ataques a usuarios. Adobe reconoció el fallo sacando un artículo en su KB unas horas después. El parche afecta a todas las versiones de Acrobat Reader y en todas las plataformas. El caso es que Adobe ha dicho que no va a tener disponible ningún parche para este problema hasta por lo menos el 11 de marzo. Y eso para la versión 9 del producto. Para las otras tardará aún más, sin especificar cuando... [Más]

Generar e instalar un certificado SSL gratis

Generar e instalar un certificado SSL gratis
En mi anterior post os hablaba sobre la forma de poder utilizar varios certificados SSL en un mismo servidor y las posibilidades y limitaciones técnicas que existían. Un certificado de servidor para SSL suele ser un producto caro. El precio en una entidad certificadora decente van desde unos pocos cientos a más de 1.000 euros, dependiente del tipo de certificado. Además es un proceso tedioso ya que hay que demostrar fehacientemente que somos quiénes decimos ser (que es de lo que va todo esto realmente, claro), lo que implica envío de papeles para su verficación, llamadas, faxes, etc... Conviene seleccionar una entidad certificadora conocida ya que de este modo su certificado raíz, que la verifica a ella primeramente, estará ya instalada en nuestro equipo, cosa que no ocurre con otras menos comunes (y supone una barrera comercial importante para éstas últimas). Todo el sistema de infraestructura de clave p&uac... [Más]

Usar varios certificados SSL en el mismo servidor IIS: Limitaciones de SSL y certificados comodín.

Usar varios certificados SSL en el mismo servidor IIS: Limitaciones de SSL y certificados comodín.
El título es así de largo proque realmente trato varios temas que están relacionados yq ue a muchos programadores Web les pueden a resultar útiles. Primeramente, pregunta típica: ¿puedo utilizar varios certificados SSL (Secure Sockets Layer) en un mismo servidor Internet Information Server (IIS)? Respuesta: Sí y No. Un servidor IIS 6.0 permite por defecto asignar varios certificados a servidores virtuales diferentes siempre y cuando éstos funcionen cada uno en un puerto distinto. Así, si usamos en alguno un puerto no estándar (distinto al 443), pues entonces sí nos deja, pero vamos, esto dista bastante de ser una buena solución. También nospermite tener dos certificados en dos servidores virtuales diferentes si cada uno de ellos utiliza una IP distinta. Tampoco es muy útil. Si vamos al diálogo "Avanzadas" de la pestaña general de propiedades de un sitio Web de IIS, veremo... [Más]

Hackeando un NAS Lacie o de como cualquier chorrada puede comprometer la seguridad de un sistema

Hackeando un NAS Lacie o de como cualquier chorrada puede comprometer la seguridad de un sistema
El otro día os hablaba de un problemilla con un NAS que tenemos y alguno me ha comentado que cómo podía hacer para lanzar la línea de comandos ya que este tipo de sistema vienen completamente cerrados a cal y canto. Voy a explicar cómo hackearlo y veremos que esta es la prueba evidente de que cualquier chorrada por pequeña que sea puede ser un agujero de seguridad. Resulta que en efecto el NAS viene completamente "capado". Lleva Windows XP Embedded y te deja acceder a través de Terminal Server pero te saca una interfaz muy restringida de administración que la verdad no merece la pena puesto que desde la interfaz web que trae se pueden hacer más cosas aún. Esta interfaz reducida tiene el aspecto de una página Web y es en realidad una pequeña aplicación ejecutable que es lo único que se ejecuta al arrancar. no tienes acceso a minimizarla, ni al escritorio, ni responde a las teclas rápidas de sacar el explorador (Windows + E), ni nada similar. Pero sí hay una tecla rápida que responde: C... [Más]

Clon de RunAs.exe (II): petición segura de contraseña

Clon de RunAs.exe (II): petición segura de contraseña
En mi anterior post hablaba de cómo construir un programa "clon" de la utilidad de línea de comandos Windows RunAs. En esta primera parte vimos cómo se lanzaba un proceso suplantando a un usuario, que era el objetivo principal de la aplicación, si bien es la parte más fácil. La tarea que nos quedó pendiente de ver es la más complicada y consiste en solicitar al usuario la clave de manera segura, sin que llegue a estar almacenada en claro en la memoria siquiera. Para ello usamos la clase SecureString, que apareció para estos menesteres en la versión 2.0 del framework. Sin más vueltas vamos a ver directamente cómo se solicita dicha clave y pasamos a explicar los puntos de interés: private static SecureString PideClave(string nomUsuario) { Console.WriteLine("Escriba la contraseña para {0}:", nomUsuario); int top, left; ConsoleKeyInfo cki; SecureString clave = new SecureString(); top = Console.CursorTop;... [Más]

Este soy yo y este es mi blog técnico, dedicado al software y a la programación.

¡Sígueme en Twitter!

Mis otros blogs

- JM Alarcón @ campusMVP.es
Contenido técnico en español orientado a desarrolladores
- JMAlarcon.es
Blog personal no técnico: sociedad, innovación, empresa...

Krasis

- campusMVP.es:
Los mejores cursos online de programación en español

- SELF LMS:
La plataforma de elearning más potente del mercado.

Histórico