Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
RegEx-DoS — 👮 👊 Scanner de déni de service RegEx (ReDos) | Kitploit
Outils/GitHubGitHub/jagracey/regex-dos
Outils DéfensifsScanners de VulnérabilitésAnalyse Statique de Code (SAST)Analyse des VulnérabilitésDevSecOps
GitHubjagracey/regex-dos

RegEx-DoS

👮 👊 Scanner de déni de service RegEx (ReDos)

Voir le dépôt
18219il y a 8 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Site web

👮 👊 Scanner de déni de service par expression régulière (ReDos)

Pour vous aider à trouver les expressions régulières vulnérables aux attaques par déni de service.

Merci de lire les directives de contribution avant de contribuer.



Une capture d'écran du scan ReDoS en action.

Qu'est-ce que le déni de service par expression régulière ?

Wikipedia et OSWAP proposent des explications convenables. En gros, certaines expressions régulières peuvent prendre beaucoup de temps pour certaines entrées. Voici un exemple concret.

root@kitploit:~
>   console.time('benchmark');
    /^(([a-z])+.)+[A-Z](https://github.com/jagracey/regex-dos/blob/HEAD/%5Ba-z%5D)+$/.test('aaaaaaaaaaaaaaa');
    console.timeEnd('benchmark');
< benchmark: 0.060ms

>   console.time('benchmark');
    /^(([a-z])+.)+[A-Z](https://github.com/jagracey/regex-dos/blob/HEAD/%5Ba-z%5D)+$/.test('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa');
    console.timeEnd('benchmark');
< benchmark: 308.656ms

>   console.time('benchmark');
    /^(([a-z])+.)+[A-Z](https://github.com/jagracey/regex-dos/blob/HEAD/%5Ba-z%5D)+$/.test('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa');
    console.timeEnd('benchmark');
< benchmark: 3179.829ms


>   console.time('benchmark');
    /^(([a-z])+.)+[A-Z](https://github.com/jagracey/regex-dos/blob/HEAD/%5Ba-z%5D)+$/.test('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa');
    console.timeEnd('benchmark');
< benchmark: 22159.769ms  // 22 seconds

>   // You can guess what would happen if you test the RegEx with 100 repeating characters.
    console.time('benchmark');
    /^(([a-z])+.)+[A-Z](https://github.com/jagracey/regex-dos/blob/HEAD/%5Ba-z%5D)+$/.test( 'a'.repeat(100) );
    console.timeEnd('benchmark');
< benchmark: lol.....no.


# Installer ReDoS

Comme d'habitude, installez avec NPM.

root@kitploit:~
npm install redos

Vous pouvez exécuter redos via la CLI :

root@kitploit:~
# Use "Find" to run Regex-DoS for any set of JS files you want.
find . -name "*.js" -not -path "./node_modules/*" -exec redos {} \;

Ou pour l'exécuter en tant que module Node :

root@kitploit:~
var redos = require('redos');

// Using a Callback
redos(" 'aaaa'.split(/a+b?c*/g); ", function(regexNodes){
  console.log( regexNodes.results() );
};


// Or Without a Callback
redos(" 'aaaa'.split(/a+b?c*/g); ").results();


// Or With Better Content to Parse
const fs      = require('fs');
const content = fs.readFileSync('./foobar.js'); // <--- Your own file Here.
redos( content ).results();


Tests

Bientôt ?



Contribuer

Consultez le guide de contribution pour plus de détails sur la façon de contribuer. C'est probablement ce à quoi vous vous attendez.

Code de conduite

Consultez le Code de conduite pour plus de détails. En résumé, tout se résume à :

Dans le but de favoriser un environnement ouvert et accueillant, nous, contributeurs et mainteneurs, nous engageons à faire de la participation à notre projet et notre communauté une expérience sans harcèlement pour tous, indépendamment de l'âge, de la corpulence, du handicap, de l'origine ethnique, de l'identité et de l'expression de genre, du niveau d'expérience, de la nationalité, de l'apparence physique, de la race, de la religion, ou de l'orientation et de l'identité sexuelles.

Licence

Licence MIT (MIT)

Copyright (c) 2016 John Gracey

La permission est accordée par la présente, gratuitement, à toute personne obtenant une copie de ce logiciel et des fichiers de documentation associés (le « Logiciel »), de traiter le Logiciel sans restriction, y compris sans limitation les droits d'utiliser, de copier, de modifier, de fusionner, de publier, de distribuer, de sous-licencier et/ou de vendre des copies du Logiciel, et de permettre aux personnes auxquelles le Logiciel est fourni de le faire, sous réserve des conditions suivantes :

L'avis de droit d'auteur ci-dessus et le présent avis d'autorisation doivent être inclus dans toutes les copies ou parties substantielles du Logiciel.

LE LOGICIEL EST FOURNI « TEL QUEL », SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE, Y COMPRIS MAIS SANS S'Y LIMITER LES GARANTIES DE QUALITÉ MARCHANDE, D'ADÉQUATION À UN USAGE PARTICULIER ET D'ABSENCE DE CONTREFAÇON. EN AUCUN CAS, LES AUTEURS OU TITULAIRES DU DROIT D'AUTEUR NE POURRONT ÊTRE TENUS RESPONSABLES DE TOUTE RÉCLAMATION, DOMMAGE OU AUTRE RESPONSABILITÉ, QUE CE SOIT DANS LE CADRE D'UN CONTRAT, D'UN DÉLIT OU AUTRE, DÉCOULANT DE, OU EN RELATION AVEC LE LOGICIEL OU L'UTILISATION OU AUTRES INTERACTIONS AVEC LE LOGICIEL.

Télécharger l’outil