Fuzz testing using Jazzer.js

This commit is contained in:
Faisal Salman
2023-04-27 07:04:51 +07:00
parent a74ebeb82e
commit 3d5c70457e
3 changed files with 1992 additions and 0 deletions

View File

@@ -0,0 +1,15 @@
const UAParser = require('ua-parser-js');
module.exports.fuzz = function (buffer) {
const userAgent = buffer.toString();
const start = process.hrtime();
UAParser(userAgent);
const elapsed = process.hrtime(start);
const milisec = (elapsed[0]*1e3+elapsed[1]*1e-6).toFixed(3);
if (milisec > 1000) {
throw new Error(
`Potential ReDoS\n` +
`Time taken: ${milisec} ms.\n` +
`User agent: ${userAgent}`);
}
};