This course will become read-only in the near future. Tell us at community.p2pu.org if that is a problem.

Descripción Completa [Sept. 17, 2011, 8:10 a.m.]


1. Objetivos de Aprendizaje

Estudiaremos vulnerabilidades típicas de aplicaciones web y como prevenrilas cuando desarrola aplicaciones.

2. Justificación

Proteger la privada, autenticidad e integridad de la información es fundamental en toda aplicación, pero especialmente desafiante con aplicaciones web que son accesibles públicamente, dado que muchas personas se dedican a explotar vulnerabilidades y diariamente se descubren nuevas vulnerabilidades y se desarrollan nuevas formas de explotar, herramientas y prácticas.

Metodología

Usaremos material de diversas fuentes, pero especialmente de OWASP, una organización reconocida, que produce --entre otros-- un buen Estándar para verificar seguridad de aplicaciones web. OWASP también produce WebGoat, una aplicación para aprender sobre seguridad de aplicaciones web que estaremos usando durante este curso. Algunas lecciones de WebGoat requieren que se modifiquen las fuentes en java de esa aplicación, esas lecciones no son obligatorias.

En cada una de las 10 semanas de este habrá una lección con un tema, un laboratorio práctico y una breve discusión sobre el tópico. Al final del semestre nos embarcaremos en un proyecto que emplee buena parte de lo que aprendió en las lecciones previas.

  • Semana 1. SQL (definiciones, ejemplos de creación de tablas, creación de índices y ejemplos de consultas) y PostgreSQL (uso de la interfaz plana psql, operaciones de configuración y mantenimiento típicas).  Creación del módelo para la base de datos y llenado inicial. Uso inicial de interfaz para la línea de comandos de php.
  • Semana 2. Lo básico de programación en PHP (Apache y PHP, generación de páginas HTML, asignación, expresiones, ciclos, funciones).  Conexión a base de datos para presentar los datos. Algunos ejemplos pueden hacerse en http://codepad.org/
  • Semana 3. Continuando lo básico de programación en PHP (funciones, objetos, interacción con formularios HTML).  Boton nuevo y formulario para crear un nuevo contacto.  Algunos ejemplos pueden hacerse en línea en http://codepad.viper-7.com/ o en http://www.coderun.com/ide/
  • Semana 4. Repaso.  Mejoras a la aplicación. Seguridad en datos de entrada y sálida.

 

2. Aspectos metodológicos y logísticos

El curso se basa en la lectura, el material provendrá entre otras de estas fuentes:

De las cuales estudiaremos rápidamente varios capítulos durante 3 semanas.  Las lecturas se complementarán con ejercicios prácticos que el facilitador retroalimenta de manera personalizada por correo y que darán lugar a puntaje, el cual a su vez da lugar a becas, premios y oportunidades laborales.   La última semana se dedicará a recapitular y completar.

2.1. Cronograma y temas:

Semana Fechas Temas
  5.Ago.2011 - 20.Ago.2011 Inscripciones (tarea de inscripción)
1 20.Ago.2011 - 26.Ago.2011 SQL y PostgreSQL
2 27.Ago.2011 - 2.Sep.2011 Básico de PHP
3 3.Sep.2011 - 9.Sep.2011 Continúa lo básico de PHP
4 10.Sep.2011 - 16.Sep.2011 Repaso y Mejoras

 

2.2 Prerequisitios y tarea de inscripción

Se requiere operar con fluidez el interprete de comandos, emplear un editor como vim, hacer páginas HTML extra-sencillas,  instalar y configurar PostgreSQL, Apache, PHP con módulo de PostgreSQL.    La tarea de ingreso tiene por objeto evaluar esto. 

2.3. Participante y Seguidor

En este curso puede ser bien seguidor o bien participante, de acuerdo al botón que presione (Seguir o Participar), pero también de acuerdo a si hace o no la tarea de inscripción. 

De un participante esperamos que realice las tareas semanales, de un seguidor no lo esperamos pero también los apoyamos en todo lo posible y les daremos retroalimentación cuando intenten realizar y enviar las tareas.

2.4. Actividad semanal

Como parte de la capacitación virtual gratuita se propone semanalmente:

  • Lecturas de contenidos con licencias abiertas
  • Ejercicios retroalimentados por el facilitador de manera personalizada por correo.
  • Intervenir en la reunión de teleconferencia de 1 hora ---ver cronograma más adelante.
  • Emplear las páginas de las tareas para realizar preguntas y dar respuestas referentes a las lecturas y ejercicios de cada tarea.  Para realizar sugerencias y aportes para los contenidos, herramientas y metodología por favor comente esta descripción.
  • Emplear infraestructura de P2PU para interactuar.
  • Emplear su computador para instalar Apache, PHP y PostgreSQL y usarlo o emplear una máquina virtual.

Durante las 4 semanas del curso, se espera una dedicación semanal de 5 horas para la realización de lecturas, prácticas y ejercicios.

2.5 Horarios para teleconferencia (hora colombiana, GMT -5:00)


Semana
Fecha y Hora
1 Lunes 23.Ago.2011 8:00PM a 9:00PM
2 Lunes 30.Ago.2011 8:00PM a 9:00PM
3 Lunes 5.Sep.2011 8:00PM a 9:00PM
4 Lunes  12.Sep.2011 8:00PM a 9:00PM

Para la teleconferencia por favor ingresar al canal #p2pu-153-m7-fundame en la red de IRC de Freenode, bien con un cliente de IRC o bien con un navegador desde  http://www.p2pu.org/es/chat/

3. Otras aclaraciones

 

4. Términos y Condiciones Especiales

Este escrito se cede al dominio público de acuerdo a la legislación colombiana, agradeciendo se de crédito a Pasos de Jesús.  Ver https://www.pasosdejesus.org/dominio_publico_colombia.html.

Este escrito se dedica a Dios igual que este curso.

Por favor haga comentarios sobre esta descripción completa para adaptar los temas propuestos a sus necesidades.