mirror of
https://github.com/louislam/uptime-kuma.git
synced 2025-06-05 04:42:34 +02:00
change the style
This commit is contained in:
parent
ea23a3324c
commit
c957f917c1
1 changed files with 26 additions and 26 deletions
|
@ -1,26 +1,26 @@
|
||||||
const semver = require("semver");
|
const semver = require("semver");
|
||||||
let test;
|
let test;
|
||||||
const nodeVersion = process.versions.node;
|
const nodeVersion = process.versions.node;
|
||||||
if (semver.satisfies(nodeVersion, ">= 18")) {
|
if (semver.satisfies(nodeVersion, ">= 18")) {
|
||||||
test = require("node:test");
|
test = require("node:test");
|
||||||
} else {
|
} else {
|
||||||
test = require("test");
|
test = require("test");
|
||||||
}
|
}
|
||||||
const apicacheModule = require("../../server/modules/apicache/apicache.js");
|
const apicacheModule = require("../../server/modules/apicache/apicache.js");
|
||||||
|
|
||||||
const assert = require("node:assert");
|
const assert = require("node:assert");
|
||||||
|
|
||||||
test("Test ReDos - attack string", async (t) => {
|
test("Test ReDos - attack string", async (t) => {
|
||||||
const getDuration = apicacheModule.getDuration;
|
const getDuration = apicacheModule.getDuration;
|
||||||
const str = "" + "00".repeat(100000) + "\u0000";
|
const str = "" + "00".repeat(100000) + "\u0000";
|
||||||
const startTime = performance.now();
|
const startTime = performance.now();
|
||||||
try {
|
try {
|
||||||
getDuration(str);
|
getDuration(str);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
// pass
|
// pass
|
||||||
}
|
}
|
||||||
const endTime = performance.now();
|
const endTime = performance.now();
|
||||||
const elapsedTime = endTime - startTime;
|
const elapsedTime = endTime - startTime;
|
||||||
const reDosThreshold = 9000;
|
const reDosThreshold = 9000;
|
||||||
assert(elapsedTime <= reDosThreshold, `🚨 Potential ReDoS Attack! getDuration method took ${elapsedTime.toFixed(2)} ms, exceeding threshold of ${reDosThreshold} ms.`);
|
assert(elapsedTime <= reDosThreshold, `🚨 Potential ReDoS Attack! getDuration method took ${elapsedTime.toFixed(2)} ms, exceeding threshold of ${reDosThreshold} ms.`);
|
||||||
});
|
});
|
||||||
|
|
Loading…
Add table
Reference in a new issue