LatamTour2013-TDSD

From OWASP
Jump to: navigation, search

Test Driven Secure Development

Veremos el desarrollo de un sencillo sitio web de mensajes. En lugar de diseñar el sitio completo, implementarlo y testearlo, iremos resolviendo los requisitos y las vulnerabilidades mediante "baby steps", precedidos por los test, en un ciclo de "crear test", "fallar test" , "implementar", "pasar test" y "refactorizar"

Algunos de los requisitos de nuestra aplicación serán:

  • Que reciba un mensaje
  • Que reciba mensajes de usuarios autenticados
  • Que persista los mensajes
  • Que el usuario se autentique una sola vez


Algunas de las vulnerabilidades que hallaremos y quizas resolveremos son:


  • SQL injection (A1)
  • Session Fixation (A2)
  • XSS (stored/reflected) (A3)
  • Insecure storage (sans 8/25 (cwe 311- missing encryption on sensitive data))


Herramientas:

  • Apache/Mysql/Php sin ningún tipo de framework para el desarrollo y shunit2 para el testing, considerando que es una combinación sencilla de mostrar y comprender.

Dependiendo del tiempo, veremos en mayor o menor profundidad

  • Wireshark/tshark
  • Tamper Data
  • wget
  • grep


Un conocimiento muy básico de desarrollo web mejora el aprovechamiento de la exposición, pero no es indispensable.