Internet et ses failles
Pré-requis et techniques de base
C'est de notoriété publique, Internet est infiniment rempli de merveilles... insécurisées.
Nous vous décrivons ici les failles les plus basiques mais malheureusement également les plus classiques et
les plus fréquentes... Dans les sections suivantes nous avons décidé de rappeller brièvement le
fonctionnement de la navigation Web et des ressources mises en jeu ainsi que de nous familiariser
avec l'injection de code, ciment de l'exploitation Web.
Articles
Nous allons donc évoquer :
Challenges
Pour mettre en pratique ces techniques basiques, je vous invite à essayer d'exploiter les différents challenges suivants :
- Les challenges Web Hacking de w3challs, jusqu'à "Attaque Temporelle"
- La majorité des épreuves Hacking NewbieContest, jusqu'à "d4priv8 I"
- Les services Web PHP de l'iCTF 2011 : muleadmin, muleuser, mulemanager, sendalert
Exploitations avancées et spécifiques
Les méthodes d'exploitation allant un peu plus loin se servent notamment des spécificités des langages et protocoles utilisés.
Certaines problématiques de sécurité sortent un peu de la couche applicative
et se situent au niveau des interpérteurs, des serveurs ou des navigateurs.
Articles
Quelques exemples :
Bien d'autres choses existent dans l'univers Web, de failles peu techniques mais très efficaces comme le CSRF (Cross Site Request Forgery) ou des vulnérabilités
liées à certaines technologies (les wrappers PHP, le mass-assignment en Ruby On Rails, etc.).
Challenges
Toujours parmi les mêmes références, vous pouvez vous tester sur la deuxième moitié des épreuves w3challs et NewbieContest,
les services Web Ruby et Python de l'iCTF 2011 : egoats, msgdispatcher, ou encore une épreuve faite maison : BrowserWar.
Enfin, l'exploitation est une chose, la sécurité en est une autre et vous avez été nombreux à me demander des conseils pour
le développement de sites simples, j'ai donc décidé d'écrire un article bref de recommandations
simples (et non exhaustives) de programmation. Il constitue bien sûr un point de départ et non une référence en la matière..