Wordlists de contenu web
Résumé
Note : L’article original a été publié sur le blog de mon entreprise https://blog.sec-it.fr/.
La découverte du périmètre est une étape importante lors d’un pentest web et peut, dans certains cas, mener à la compromission d’un site web. Afin de réaliser cette reconnaissance, plusieurs outils sont disponibles, notamment les wordlists de contenu web pour le web fuzzing :
| Nom | Première version | Dernière mise à jour | Taille max (lignes) |
|---|---|---|---|
| SecLists | 2012/02/20 | 2021/02/12 | 1.273.833 (directory-list-2.3-big.txt) |
| Assetnote wordlists | 2020/11/16 | 2021/01/28 | 4.319.406 (httparchive_js_2020_11_18.txt) |
| Dirb wordlists | 2015/06/16 | 2015/06/16 | 20.469 (big.txt) |
| DirBuster wordlists | 2013/05/01 | 2013/05/01 | 220.560 (directory-list-2.3-medium.txt) |
| Dirsearch dicc.txt | 2013/05/22 | 2021/02/10 | 9.021 (dicc.txt) |
| Wfuzz wordlists | 2014/10/23 | 2019/03/14 | 45.459 (megabeast.txt) |
| Wordlistctl (Bonus) | 2018/10/28 | 2018/11/02 | N/A |
* cet article a été rédigé en février 2021
Notez que cet article inclut uniquement les wordlists de routes, fichiers et dossiers. Par conséquent, les wordlists qui contiennent des mots de passe telles que rockyou.txt ne seront pas abordées.
SecLists
SecLists est une collection de plusieurs types de wordlists, incluant des noms d’utilisateur, des mots de passe, des URLs, des patterns de données sensibles, des payloads de fuzzing, des web shells, et bien plus encore.
SecLists est le compagnon du testeur de sécurité. […] L’objectif est de permettre à un testeur de sécurité de récupérer ce dépôt sur une nouvelle machine de test et d’avoir accès à chaque type de liste qui pourrait être nécessaire.
Le dépôt est activement maintenu et son dernier commit date de moins de deux semaines. Le package est fourni par la plupart des distributions Linux de pentest telles que Black Arch et Kali Linux.
Les wordlists abordées se trouvent dans Discovery/Web-Content/. On peut remarquer qu’il y a beaucoup de wordlists disponibles (121 dans le dossier principal). Certaines sont spécifiques à une technologie donnée (CGIs.txt, coldfusion.txt, oracle.txt …), d’autres sont spécifiques à une langue donnée (common-and-french.txt, common-and-dutch.txt …). La principale famille de wordlists présente dans SecList est la famille « RAFT Word Lists ».
Les wordlists RAFT ont été générées à partir des robots.txt de 1,7 million de sites web et étaient initialement fournies par RAFT Tool en 2011. Dans cette famille, les wordlists sont réparties comme suit :
- 4 familles (directories, extensions, files et words)
- 3 tailles par famille (large, medium et small)
- 2 options de casse (normal et lowercase)
| Nom | Taille (lignes) large | Taille (lignes) medium | Taille (lignes) small |
|---|---|---|---|
| raft-*-directories.txt | 62.283 | 30.000 | 20.116 |
| raft-*-directories-lowercase.txt | 56.163 | 26.584 | 17.770 |
| raft-*-files.txt | 37.042 | 17.128 | 11.424 |
| raft-*-files-lowercase.txt | 35.324 | 16.243 | 10.848 |
| raft-*-extensions.txt | 2.449 | 1.289 | 963 |
| raft-*-extensions-lowercase.txt | 2.366 | 1.233 | 914 |
| raft-*-words.txt | 119.600 | 63.087 | 43.003 |
| raft-*-words-lowercase.txt | 107.982 | 56.293 | 38.267 |
En regardant raft-*-files.txt, on obtient la répartition d’extensions suivante :
| Histogramme | Camembert |
|---|---|
![]() | ![]() |
![]() | ![]() |
![]() | ![]() |
SecLists inclut également les wordlists fournies avec dirbuster et dirb, abordées dans la suite de cet article.
Assetnote wordlists
Assetnote est une entreprise qui fournit des outils et services de sécurité permettant de mesurer l’exposition aux attaques externes. L’entreprise fournit également un dépôt nommé Assetnote Wordlist.
Ces wordlists sont générées mensuellement à l’aide des datasets Google BigQuery avec leur client GO nommé commonspeak2, ce qui aboutit à des wordlists de content discovery et de sous-domaines.
Comme ces datasets sont mis à jour régulièrement, les wordlists générées via Commonspeak2 reflètent les technologies actuellement utilisées sur le web.

Les wordlists sont générées par technologie, pour cet article nous nous concentrerons sur les directories, les API routes et les langages PHP, ASP.NET, JSP/JSPA.
Note : Les wordlists de janvier 2021 semblant moins complètes que les précédentes, et celles de février 2021 n’étant pas disponibles pour le moment, nous nous concentrerons sur les wordlists de novembre 2020.
| Nom | Technologie | Taille (lignes) |
|---|---|---|
| httparchive_directories_1m_2020_11_18.txt | Directories | 1.000.000 |
| httparchive_apiroutes_2020_11_20.txt | API routes | 953.011 |
| httparchive_php_2020_11_18.txt | PHP | 74.887 |
| httparchive_aspx_asp_cfm_svc_ashx_asmx_2020_11_18.txt | ASP .NET | 63.200 |
| httparchive_jsp_jspa_do_action_2020_11_18.txt | JSP | 10.506 |
| Assetnote Directories | Assetnote API routes |
|---|---|
![]() | ![]() |
Note : /, - et _ sont considérés comme des wildcards dans le graphique précédent.
Dirb wordlists
Dirb est un outil de web discovery déjà abordé dans un article précédent. L’outil est fourni avec plusieurs wordlists, dont les plus communes :
| Nom | Taille (lignes) |
|---|---|
| common.txt (wordlist par défaut pour dirb) | 4.614 |
| big.txt | 20.469 |
| small.txt | 959 |
| Charsets de la famille dirb. | |
|---|---|
![]() | ![]() |
![]() |
Ces wordlists n’ont aucune extension et seulement 2 % des mots contiennent des majuscules. On peut également noter qu’il y a plus de charsets « other » dans common.txt que dans big.txt.
DirBuster wordlists
DirBuster est un outil de web discovery qui a également été abordé dans un article précédent. L’outil est fourni avec plusieurs wordlists, dont la famille de wordlists directory-list-2.3.
| Nom | Taille (lignes) |
|---|---|
| directory-list-2.3-big.txt | 1.273.833 |
| directory-list-2.3-medium.txt | 220.560 |
| directory-list-2.3-small.txt | 87.664 |
Certaines versions packagées peuvent ne pas inclure directory-list-2.3-big.txt.
Comme les wordlists de dirb, directory-list-2.3 n’inclut aucune extension.
| Charsets de la famille directory-list-2.3. | |
|---|---|
![]() | ![]() |
![]() |
Note : /, - et _ sont considérés comme des wildcards dans le graphique précédent.
Dirsearch dicc.txt
dicc.txt est une wordlist fournie avec l’outil dirsearch. Cette wordlist a la particularité de fournir l’extension variable %EXT%. Par conséquent, la wordlist doit être utilisée avec des outils qui supportent le format %EXT% (voir l’article sur les outils de web discovery).
La wordlist compte un total de 9021 lignes réparties comme suit :
| dicc.txt | |
|---|---|
![]() | ![]() |
On peut noter qu’il y a « seulement » 500 mots contenant l’extension %EXT%.
Wfuzz wordlists
L’outil Wfuzz est fourni avec de nombreuses wordlists. Certaines, dans le répertoire « general », sont dédiées à l’énumération de répertoires et de fichiers. C’est le cas de megabeast.txt, big.txt, medium.txt et common.txt. Aucune de ces wordlists ne contient de mots avec des extensions. Elles sont réparties comme suit :
| Charsets de la famille wfuzz. | |
|---|---|
![]() | ![]() |
![]() | ![]() |
Wordlistctl (Bonus)
Dans certains cas, un auditeur peut rechercher une wordlist spécifique. Wordlistctl est un outil conçu pour récupérer, installer, mettre à jour et rechercher une wordlist donnée. Ce script python propose plus de 6400 wordlists et est maintenu par la distribution BlackArch Linux.
$ wordlistctl search wordpress
--==[ wordlistctl by blackarch.org ]==--
> wordpress (29.20 Kb)
> urls-wordpress-3 (36.62 Kb)
> wordpress-attacks-july2014 (88.00 B)
> wordpress_usernames (541.57 Mb)
> wordpress_attacks_july2014 (88 B)
$ wordlistctl fetch -l urls-wordpress-3
--==[ wordlistctl by blackarch.org ]==--
[*] downloading urls-wordpress-3.3.1.txt to /usr/share/wordlists/discovery/urls-wordpress-3.3.1.txt.part
[+] downloading urls-wordpress-3.3.1.txt completed
Tableau comparatif
Sans plus attendre, voici un tableau comparatif des différentes wordlists abordées dans cet article. Les cases colorées représentent une forte corrélation entre wordlists. Pour comprendre la matrice, il faut lire : "N% of the wordlist at line Y is contained in wordlist at column X".
Par exemple : 87 % de la wordlist n°17 (dirb - small) est contenue dans la wordlist n°0 (seclists - raft-large-files).
Les sources utilisées pour générer ce graphique sont disponibles sur ce dépôt : sec-it/WL-Comparison.
Une version interactive du graphique est disponible en ligne.
À propos
L’article original a été publié sur le blog de mon entreprise https://blog.sec-it.fr/.
Vous pouvez retrouver SEC-IT à l’adresse https://www.sec-it.fr.
Une partie de ce contenu est sous licence MIT / © 2021 SEC-IT.



















