Entradas

Mostrando las entradas de febrero, 2014

Security Scanner #107: Web Component with URL Access enabled

Imagen
Tengo una KB GeneXus y realizo una corrida del Security Scanner. Muestra algunos webcomponents que tienen la propiedad URL Access = true
Que problema de seguridad puede tener esto? Los webcomponents están pensados para ser ejecutados dentro de otra pagina web (webpanel o transaction). Generalmente, las validaciones de seguridad de los mismos se realizan en los programas llamadores y no en los webpanels.

También es comun, que dichas validaciones se hagan en la MasterPage de dichos webpanels.

Al poner la propiedad del WebComponent URL Access = true, se posibilita que dicho webcomponent sea ejecutado directamente sin ejecutar el webpanel que lo contiene y tampoco se ejecuta la masterpage.

Si bien ésto es muy práctico en el momento que estamos desarrollando, es algo peligroso en producción, pues usuarios sin permiso podrían acceder a parte de mi aplicación sin los controles de acceso deseados.
Que puedo hacer para solucionarlo? La mas fácil, es recorrer todos los WebComponents listado…

Security Scanner Error #101: Uso de HTML en Webforms #GeneXus

Imagen
Este es el primero de una serie de post sobre el uso del Security Scanner en KB GeneXus.

Empezamos un proyecto de análisis de seguridad de una aplicación GeneXus. Dicho análisis incluye un estudio de la KB con el Security Scanner y el estudio y la corrección de algunas de las vulnerabilidades encontradas. Es importante notar que no alcanza solo con esto, pero es un muy buen punto de partida.

La metodología de trabajo que encaramos fue la de hacer una corrida del Security Scanner, generar una planilla con los errores y luego pasar dichos errores a los desarrolladores de dicha KB.

Lo que vimos  es que si bien hay bastante documentación sobre las distintos tipos de vulnerabilidades de la OWASP es que estaba faltando recetas sencillas para solucionar los problemas que plantea el Security Scanner.

Los problemas de seguridad son complejos y lo que pretendo solucionar son los casos mas sencillos y no seria bueno crearse una falsa sensación de seguridad por corregir estos problemas, pero es b…

PiensoPienso: Que produce esta diferencia de performance entre dos for each?

Imagen
Tengo una tabla Log con 1.000.000 de registros
En la tabla hay 100.123 registros de los últimos treinta días y necesito actualizarlos.

Para eso pruebo los siguientes procedimientos, que tienen codigo equivalente, pues solo cambian los valores de los mismos registros.

Demora 1 segundo en actualizar los registros.

Demora 186 segundos en actualizar los registros de la tabla.

Porque una diferencia de performance tan grande? Justifique su respuesta.

UPDATE: 
En los comentarios pidieron que ponga la navegación

Build & Deploy con #GeneXus - Informe de avances

Imagen
Seguimos avanzando a buen ritmo en el grupo de trabajo de Build & Deploy de aplicaciones GeneXus. Cuento las ultimas novedades Grupo y foro para el grupo. Armin creó el foro (se pueden suscribir aqui) y un grupo en Google Groups al que puede suscribirse quien quiera tener novedades sobre el tema.

Hicimos una reunión, donde Armin presentó el caso de Pesobook, donde nos hizo notar todas las dificultades que tienen las aplicaciones web/Smart Devices cuando hay que instalarlas en los clientes. Muchas de las tecnicas que estuvimos discutiendo para evitar problemas, son similares a las que se usaban cuando teníamos aplicaciones Windows instaladas en muchas maquinas (controlar que la version actual sea la ultima, permitir/forzar actualizar la aplicación, convivencia de varias versiones, etc).

En dicho deploy, hay que hacerse las preguntas

Puede la versión anterior, funcionar con la nueva estructura de la base de datos? Cambian los servicios publicados por la aplicacion?Necesito instal…