
Notes d'étude structurées couvrant les fondamentaux du hacking web, les vulnérabilités courantes, les techniques de test d'intrusion et la sécurité défensive, avec des listes d'outils et de ressources sélectionnées.
Au cours de mon apprentissage de la sécurité Web, j'ai profondément ressenti que les connaissances liées sont immenses et qu'une grande partie d'entre elles sont relativement dispersées. Sans un fil conducteur relativement clair comme référence, cela peut apporter une charge inutile à l'apprentissage. Par conséquent, après avoir acquis une compréhension superficielle de la sécurité Web, j'ai essayé d'organiser et d'enregistrer certaines connaissances et idées, ce qui a finalement abouti à ces notes. J'espère qu'elles pourront apporter une certaine aide aux amateurs de cybersécurité qui débutent.
Avant de commencer, une question doit être clarifiée : qu'est-ce que la sécurité Web ? Une définition assez directe est que la sécurité Web est une série de contenus de sécurité incluant les sites Web, les applications Web et les services Web. En d'autres termes, la sécurité Web se concentre sur la sécurité de la couche application, en particulier celle liée au réseau. Les éléments à apprendre en sécurité Web comprennent principalement les protocoles réseau eux-mêmes, les caractéristiques des applications Web et les problèmes de sécurité correspondants, ainsi que l'utilisation de divers outils. En réalité, ces contenus sont assez fragmentés et complexes. On essaie de les décomposer et de les réorganiser selon la logique suivante.
En prenant l'histoire comme miroir, on peut connaître les succès et les échecs. La première chose à comprendre est l'histoire du développement du domaine. Pour mieux comprendre pourquoi le domaine de la sécurité Web est comme il est aujourd'hui et dans quelle direction les recherches se développent, il est nécessaire de connaître l'histoire du développement et de l'évolution des technologies des applications Web et des techniques d'attaque et de défense réseau. C'est également la première partie des notes, qui explique le développement et l'évolution des technologies Web ainsi que les connaissances de base du domaine de la sécurité.
Après avoir une compréhension générale de l'histoire de la sécurité Web, on peut commencer à apprendre les bases des réseaux informatiques. C'est la deuxième partie de ce document, qui présente certaines connaissances de base des réseaux informatiques. Étant donné que les bases de données réseau, les serveurs Web et autres technologies ont de nombreuses branches et évoluent rapidement, ce document ne présente que les protocoles réseau et passe sous silence la partie applications réseau. En réalité, il faudrait comprendre divers langages de programmation, frameworks d'applications Web, services réseau et caractéristiques des systèmes d'exploitation.
Après avoir acquis une certaine base, on peut se concentrer sur des contenus d'attaque-défense plus détaillés, comme la recherche sur un type de vulnérabilité, les caractéristiques d'un langage ou d'une application et les problèmes de sécurité correspondants. C'est la troisième partie de ce document. Cette partie, suivant l'ordre des tests d'intrusion courants, présente brièvement la collecte d'informations, les vulnérabilités Web courantes, les langages et frameworks courants, les techniques de pénétration de réseau interne, etc. On commence généralement à aborder ces contenus après avoir commencé à apprendre les tests d'intrusion.
Parallèlement, le cloud devient une partie importante du monde Web. Que ce soit l'utilisation de cloud public pour construire des services légers, ou le cloud privé, les technologies comme les conteneurs deviennent de plus en plus importantes.
La quatrième partie revient à une perspective défensive, décrivant la construction d'équipe de sécurité, le renseignement sur les menaces et la gestion des risques, tout en fournissant certaines explications sur des techniques plus détaillées comme les honeypots et la traçabilité.
Enfin, une application plus concrète, principalement axée sur la présentation des outils et des ressources. Cette partie du document recommande une liste d'outils et de ressources, et archive également une partie du contenu non classé pour l'instant.
Ce qui précède est l'organisation globale du contenu. En réalité, lors de l'apprentissage, on peut aussi commencer par un point particulier et apprendre en spirale. Il peut être utilisé à la fois comme un ensemble et comme un manuel de référence.
Mes connaissances sont limitées et mon énergie restreinte. Il est inévitable qu'il y ait des erreurs ou des parties incomplètes lors de l'organisation des notes, qui sont progressivement corrigées et complétées. Si des omissions ou des erreurs existent, les lecteurs sont invités à les signaler via une Issue ou une PR. Je vous en suis infiniment reconnaissant.
Au cours de la rédaction des notes, j'ai consulté et cité de nombreux documents, dont les liens sont laissés à la fin. Merci beaucoup aux auteurs pour leur partage. La version en ligne des notes peut être consultée en cliquant ici.
git clone https://github.com/LyleMi/Learn-Web-Hacking.git
cd Learn-Web-Hacking
pip install sphinx sphinx-rtd-theme
make html
Si vous avez des questions, des commentaires ou des suggestions, n'hésitez pas à les soumettre sous forme d'Issue ou de PR. Je vous en suis infiniment reconnaissant.
Merci à tous les contributeurs.
Le projet est publié sous la licence CC0 1.0. Vous pouvez consulter le texte intégral en cliquant ici.
Le contenu des notes est collecté et organisé à partir d'informations open source. Les techniques mentionnées sont destinées uniquement à des scénarios légitimes tels que l'apprentissage et les tests autorisés. Pour des raisons de sécurité publique, certaines parties n'ont pas été incluses. Les lecteurs sont priés de respecter les lois et réglementations telles que la Loi sur la cybersécurité de la République populaire de Chine et le [Règlement sur la protection des logiciels informatiques de la République populaire de Chine], et de ne pas effectuer de tests sous quelque forme que ce soit sur des cibles non autorisées.