Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
RegEx-DoS — 👮 👊 正規表現サービス拒否(ReDos)スキャナ | Kitploit
ツール/GitHubGitHub/jagracey/regex-dos
防御ツール脆弱性スキャナー静的コード分析 (SAST)脆弱性分析DevSecOps
GitHubjagracey/regex-dos

RegEx-DoS

👮 👊 正規表現サービス拒否(ReDos)スキャナ

リポジトリを見る
182198年前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
ウェブサイト

👮 👊 正規表現サービス拒否(ReDos)スキャナー

サービス拒否攻撃の影響を受けやすい正規表現を見つけるのに役立ちます。

コントリビュートする前にコントリビューションガイドラインをお読みください。



ReDoSスキャンを実行中のスクリーンショット。

正規表現サービス拒否(ReDoS)とは?

Wikipedia と OSWAP には適切な説明があります。基本的に、特定の正規表現は特定の入力に対し非常に長い時間がかかることがあります。実際の例を次に示します。

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.


# ReDoSのインストール

通常どおり、NPMでインストールします。

root@kitploit:~
npm install redos

CLIでredosを実行することもできます:

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 {} \;

または、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();


テスト

近日公開予定?



コントリビューション

コントリビュート方法の詳細はコントリビューションガイドを参照してください。おそらくご想像どおりです。

行動規範

詳細は行動規範を参照してください。基本的には次のとおりです。

オープンで歓迎される環境を育むため、貢献者および保守者として私たちは、年齢、体格、障害、民族性、性自認と表現、経験レベル、 国籍、外見、人種、宗教、性的アイデンティティと性的指向にかかわらず、すべての人にとって私たちのプロジェクトとコミュニティへの 参加がハラスメントのない体験となることを誓います。

ライセンス

MITライセンス (MIT)

Copyright (c) 2016 John Gracey

以下に定める条件に従い、本ソフトウェアおよび関連する文書ファイル(以下「ソフトウェア」)の複製を取得するすべての人に対し、ソフトウェアを無制限に扱うことを無償で許可します。これには、ソフトウェアの複製、変更、結合、公開、配布、サブライセンス、および/または販売の権利、およびソフトウェアを提供する相手にこれを許可する権利が含まれますが、これらに限定されません。

上記の著作権表示およびこの許可表示は、ソフトウェアのすべての複製または重要な部分に含まれるものとします。

ソフトウェアは「現状のまま」で提供され、明示的か黙示的かを問わず、商品性、特定目的への適合性、および非侵害についての保証を含む、いかなる保証もありません。いかなる場合も、著作者または著作権保持者は、契約行為、不法行為、その他の行為であるかを問わず、ソフトウェアまたはソフトウェアの使用またはその他の取引に起因または関連して生じたいかなる請求、損害、その他の責任についても責任を負いません。

ツールをダウンロード