[draft] - Web Security Testing Guide

Une méthodologie pour les tests d’intrusions d’application Web.

Photo d’Alain Hanoul

Introduction

Lorsque nous parlons de sécurité d’application Web, nous avons toujours en tête l’OWASP TOP 10. Ce fameux classement des 10 vulnérabilités les plus critiques. Pourtant pour moi, le projet le plus intéressant à connaitre est le “Web Security Testing Guide” :

The Web Security Testing Guide (WSTG) Project produces the premier cybersecurity testing resource for web application developers and security professionals.

Comme son nom l’indique, c’est une méthodologie pour d’auditer son application Web. Elle se décompose 12 thématiques pour regrouper l’ensemble des vulnérabilités. La présentation qui suit à pour but de faire connaître cette méthodologie, elle n’a pas pour rôle de la remplacer, ni de la traduire.

Information Gathering

Présentation

La première thématique est la collecte d’informations. Pour cette étape la recherche d’informations peut s’effectuer indirectement grâce aux moteurs de recherche. Elle peut aussi être direct grâce aux outils présent sur Kali. Elle doit permettre d’enmagasiner le plus d’information pour parfaire les autres étapes.

Exemples et commandes

Google:

site:url_de_ma_cible.com autre mot clef

Signature du serveur:

nmap -p80,443 -sV -O url_de_ma_cible.com
curl --head url_de_ma_cible.com

Enumération sur les urls:

dirsearch -e php,html,js -u https://url_de_ma_cible.com -w /usr/share/wordlists/dirbuster/directory-list-1.0.txt 

Configuration and Deployment Management Testing

Présentation

La deuxième thématique est l’analyse de la gestion de la configuration et du déploiement. Pour cette étape il faut connaître les services pour déterminer les erreurs d’une configuration par défaut. Il faut aussi savoir comment fonctionne un déploiement pour déterminer quels sont les reliquats d’une installation.

Exemples et commandes

Enumération de vulnérabilité:

nikto -url https://url_de_ma_cible.com

Identity Management Testing

Présentation

La troisième thématique est l’analyse de gestion des identités. Pour cette étape il faut comprendre comment marche l’application. Sans cette connaissance, comprendre l’efficacité du cloisonnement est compromise.

Exemples et commandes

Cloisonnement des sessions

Module Autorize de BurpSuite

Authentication Testing

Présentation

La quatrième thématique est l’analyse de l’authentification. Pour cette étape il faut éplucher tous les mécanismes qui sont lié la confidentialité et l’intégrité de l’identification des utilisateurs.

Exemples et commandes

Injection SQL:

Aléa des cookies

Module Sequencer de BurpSuite

Authorization Testing

Présentation

La cinquième thématique est l’analyse des autorisations. Pour cette étape il faut vérifier que les fonctionnalités qui fournissent les ressources sont étanches.

Exemples et commandes

Directory Traversal Payload

Idor

for i in `seq 1 10`;
do
        wget https://url_de_ma_cible.com/id?or=$i
done

Session Management Testing

Présentation

Exemples et commandes

Input Validation Testing

Présentation

Exemples et commandes

Testing for Error Handling

Présentation

Exemples et commandes

Testing for Weak Cryptography

Présentation

Exemples et commandes

Business Logic Testing

Présentation

Exemples et commandes

Client-side Testing

Présentation

Exemples et commandes

API Testing

Présentation

Exemples et commandes

David Perez
David Perez
Auditeur en Cybersécurité

#auditor #cyber #insider