Lumière sur Memcached

memcached-banniere

Pour votre boutique Magento il est commun d'utiliser une base de données Memcached ou Redis. Elle va gérer le cache et/ou les sessions. Le plus souvent utilisées dans des architectures multi-serveurs, ces bases de données améliorent les performances. Elles facilitent également la scalabilité horizontale de votre applicatif.

Zend_Session : Session already started

Lorsque session_start() est appelée plus d'une fois dans un script PHP, un message d'avertissement est affiché :
Notice: A session had already been started - ignoring session_start() in ****.php on line ***

Pour y remédier, il faut bien évidemment revoir son code PHP de façon à ce que l'instruction ne soit appelée qu'une fois dans un script.

Mais, dans certains cas, il est nécessaire de mettre en place des solutions de contournement.

TechEvening à Lyon sur la sécurité des applications Web

Ce lundi s'est déroulé à Lyon un TechEvening consacré à la sécurité des applications Web. Nous avons testé les différentes techniques et outils utilisés par les utilisateurs malveillants. Deux applications ont été utilisées, l'une en J2EE pour la plupart des techniques (WebGoat 5.3 de la fondation OWASP) et l'autre en ASP.NET MVC 3 pour un focus sur les perfides attaques CSRF.

Au programme:

  • Injection: diverses techniques d'injection SQL;
  • Cross-Site Scripting (XSS): techniques de phishing et de "session hijacking";
  • Violation de gestion d'authentification et de session: technique de "session fixation";
  • Références directes non sécurisées: techniques d'"AC Bypass" aux niveaux données et métier;
  • Cross-Site Request Forgery (CSRF): technique du "Token Bypass";
  • Mauvaise configuration de sécurité: technique de "Malicious File Execution";
  • Stockage cryptographique non sécurisé: sensibilisation au "hashing" et "salting";
  • Manque de restriction URL: technique du "forced browsing";
  • Protection insuffisante de la couche transport: "sniffing", "ARP spoofing" et "ARP poisoning"
  • Redirections et renvois non validés: techniques du "HTTP splitting" et du "cache poisoning"

Nous avons utilisé les outils suivants:

  • Firefox
  • Fiddler
  • Firebug
  • TamperData
  • WireShark

Vous pouvez retrouver ci-après tous les supports:

  • L'application WebGoat 5.3;
  • L'application CSRFDemo ASP.NET MVC 3;
  • Les slides (PPTX ou PDF) de présentation;
  • Quelques fichiers utilisés pour les attaques;

Pour ceux qui s’intéressent plus globalement à la sécurité des applications .NET (pas qu'en Web), je vous invite à lire l'article suivant sur l'altération des assemblages, l'injection de code et la suppression des signatures cryptographiques. Une vidéo est également disponible.