Bir Projemde Çalışan Kod Diğer Projemde Çalışmıyor

Merhabalar Bir Projemde Çalışan Kod Diğer Projemde Çalışmıyor Nedensizce…
Kod:

import sys
import requests

def XSSHack():
    nick=input("Nick'inizi Giriniz: ")
    hedef=site+"<marquee>HACKED BY "+nick+"</marquee>"
    try:
        r=requests.get(hedef)
        if r.status_code==200:
            print("Xss Başarılı Site URL: "+hedef)
            print("Sitenin Hacklenmiş Hali Ekranda Şu Şekilde: HACKED BY "+nick)
    except:
        print("URL Yanlış Yada Böyle Bir Site Yok...\n")
    
    Soruu = input("Bir Site İle Daha Yapmak İstiyormusunuz E/H")
    if Soruu=="E":
        while (True):
            XSSHack()
    elif Soruu=="H":
        print("Çıkılıyor...")
        exit()

if len(sys.argv) < 3:
    exit()
elif sys.argv[1] in "-u" and sys.argv[3] in "-x":
    site = sys.argv[2]
    XSSHack()
else:
    print("Hatalı Yada Fazla Parametre Girdiniz...")
    exit()

Bu Kod Bir Projede Çalışırken Asıl Projemde Çalışmıyor Hatalı Yada Fazla Parametre Girdiniz Diyor…

Merhaba.

Bu program hangi parametreleri bekliyor, örnek bir komut satırı kullanımı paylaşabilir misiniz?

İyi çalışmalar.

Hocam Sağolun Sorunumu Çözdüm… Kendi Hatamdan Dolayı İmiş… Fakat Şu Anki Sorunum

def Dorküretici():
i = 0
ülkeuzantısı = ""
dorktürü=input("Hangi Dork Türü Üretkmek İstiyorsunuz Wordpress Veya SQL? W/S: ")
üretilecekdorksayisi = int(input("Üretilecek Dork Sayısını Yazınız: "))
ülkedorku=input("Ülke Uzantısı Eklemek İstiyormusunuz? E/H: ")

if ülkedorku=="E":
    ülkeuzantisidork=input("Ülke Uzantısı Giriniz: ")
    ülkeuzantısı=ülkeuzantisidork
    if dorktürü == "W":
        while (i < üretilecekdorksayisi):
            a = "wp/content/" + random.choice(dorkkelimeleri)+" "+"site:"+ülkeuzantısı
            b = "wp/admin/" + random.choice(dorkkelimeleri) + " " + "site:" + ülkeuzantısı
            print(a, "\n", b)
            i += 1
    if dorktürü == "S":
        while (i < üretilecekdorksayisi):
            a = "inurl:" + random.choice(dorkkelimeleri) + ".php?id="+" "+"site:"+ülkeuzantısı
            print(a)
            i+=1

elif ülkedorku=="H":
    print("")
    if dorktürü == "W":
        while (i < üretilecekdorksayisi):
            a = "wp/content/" + random.choice(dorkkelimeleri)
            b = "wp/admin/" + random.choice(dorkkelimeleri)
            print(a, "\n", b)
            i += 1
    if dorktürü == "S":
        while (i < üretilecekdorksayisi):
            a = "inurl:" + random.choice(dorkkelimeleri) + ".php?id="
            print(a)
            i+=1

if len(sys.argv)<2:
    exit()
elif sys.argv[1] in "-D" :
    Dorküretici()

Şuanki Sorunum Bu Kodda Bu Koddaki Sorunumda Şu:Programa -D Parametresini Girince Çıkış Yapıyor Fakat a falan ekleyince boşluk yapıp Fonksiyonu Çağırıyor Ve İşlemi Yapıyor… if len(sys.argv)<1 Falan Denedim Olmadı Bir Türlü…

Burada ne demek istediğinizi anlayamadım…

Hocam Diyorumki Çıkış Yapma Sorununu Hallettim Yani Artık Kodum Asıl Projedede Çalışıyor Amma Velakin

Dork Üretme Fonksiyonumda Sorun Çıktı Sorunumda Şu Ki:
py -3 programismi.py -D şeklinde girince Fonksiyonu Başlatmıyor Fakat py -3 programismi.py -D a şeklinde girince çatır çatır Çalışıyor Fonksiyon…

Kodlarımda Şunlar:

def Dorküretici():
    i = 0
    ülkeuzantısı = ""
    dorktürü=input("Hangi Dork Türü Üretkmek İstiyorsunuz Wordpress Veya SQL? W/S: ")
    üretilecekdorksayisi = int(input("Üretilecek Dork Sayısını Yazınız: "))
    ülkedorku=input("Ülke Uzantısı Eklemek İstiyormusunuz? E/H: ")

    if ülkedorku=="E":
        ülkeuzantisidork=input("Ülke Uzantısı Giriniz: ")
        ülkeuzantısı=ülkeuzantisidork
        if dorktürü == "W":
            while (i < üretilecekdorksayisi):
                a = "wp/content/" + random.choice(dorkkelimeleri)+" "+"site:"+ülkeuzantısı
                b = "wp/admin/" + random.choice(dorkkelimeleri) + " " + "site:" + ülkeuzantısı
                print(a, "\n", b)
                i += 1
        if dorktürü == "S":
            while (i < üretilecekdorksayisi):
                a = "inurl:" + random.choice(dorkkelimeleri) + ".php?id="+" "+"site:"+ülkeuzantısı
                print(a)
                i+=1

    elif ülkedorku=="H":
        print("")
        if dorktürü == "W":
            while (i < üretilecekdorksayisi):
                a = "wp/content/" + random.choice(dorkkelimeleri)
                b = "wp/admin/" + random.choice(dorkkelimeleri)
                print(a, "\n", b)
                i += 1
        if dorktürü == "S":
            while (i < üretilecekdorksayisi):
                a = "inurl:" + random.choice(dorkkelimeleri) + ".php?id="
                print(a)
                i+=1

if len(sys.argv) < 3 or len(sys.argv)<1:
    exit()
elif sys.argv[1] in "-D" :
    Dorküretici()

Merhaba. Öncelikle şu satırı

if len(sys.argv) < 3 or len(sys.argv)<1:

şu şekilde değiştirebilirsiniz:

if len(sys.argv) < 3:

Çünkü sys.argv'nin uzunluğu hiçbir zaman 1'in altında olmaz; dizideki ilk öğe her zaman dosya adıdır. Sadece etkileşimli kabukta bu değişken boş bir dizi olabilir.

Siz py -3 programismi.py -D diye komut verdiğinizde sys.argv'nin içeriği şunun gibi oluyor:

['programismi.py', '-D']

Bu dizinin uzunluğu 2 olduğu için if len(sys.argv) < 3 şartını sağlıyor ve exit() komutu ile programdan çıkılıyor. Çalışması için ya bir parametre daha vermelisiniz ya da if len(sys.argv) < 3 şartını if len(sys.argv) < 2 olarak değiştirmelisiniz. Bu şartı değiştirdiğimizi düşünürsek kodun son hali şöyle olmalı:

def Dorküretici():
    i = 0
    ülkeuzantısı = ""
    dorktürü=input("Hangi Dork Türü Üretkmek İstiyorsunuz Wordpress Veya SQL? W/S: ")
    üretilecekdorksayisi = int(input("Üretilecek Dork Sayısını Yazınız: "))
    ülkedorku=input("Ülke Uzantısı Eklemek İstiyormusunuz? E/H: ")

    if ülkedorku=="E":
        ülkeuzantisidork=input("Ülke Uzantısı Giriniz: ")
        ülkeuzantısı=ülkeuzantisidork
        if dorktürü == "W":
            while (i < üretilecekdorksayisi):
                a = "wp/content/" + random.choice(dorkkelimeleri)+" "+"site:"+ülkeuzantısı
                b = "wp/admin/" + random.choice(dorkkelimeleri) + " " + "site:" + ülkeuzantısı
                print(a, "\n", b)
                i += 1
        if dorktürü == "S":
            while (i < üretilecekdorksayisi):
                a = "inurl:" + random.choice(dorkkelimeleri) + ".php?id="+" "+"site:"+ülkeuzantısı
                print(a)
                i+=1

    elif ülkedorku=="H":
        print("")
        if dorktürü == "W":
            while (i < üretilecekdorksayisi):
                a = "wp/content/" + random.choice(dorkkelimeleri)
                b = "wp/admin/" + random.choice(dorkkelimeleri)
                print(a, "\n", b)
                i += 1
        if dorktürü == "S":
            while (i < üretilecekdorksayisi):
                a = "inurl:" + random.choice(dorkkelimeleri) + ".php?id="
                print(a)
                i+=1

if len(sys.argv) < 2:
    exit()
elif sys.argv[1] == "-D" :
    Dorküretici()

Not: Şu ifade de dikkatimi çekti: sys.argv[1] in "-D". Bunu sys.argv[1] == "-D" olarak yazmanız daha uygun olur diye düşünüyorum, yukarıdaki kodda bunu da değiştirdim.

İyi çalışmalar.

Hocam Teşekkür Ederim Uğraştığınız İçin Ama Yine Aklımı Çalıştırdım Azcık Ve

if len(sys.argv) > 7
    exit()
elif sys.argv[1] in "-D"
    Dorküretici()

Şeklinde Yaptım Ve Sorun Çözüldü :slight_smile:

Hocam Şimdide elif sys.argv[1] in "-u" and sys.argv[3] in "-X":

IndexError: list index out of range Bu Hatayı Alıyorum :confused: Çıldırıcağım Her Yerden Bir Hata Geliyor…

Merhaba.

Bahsettiğiniz koşul, 3’ten az komut satırı parametresi verdiğinizde patlar; sys.argv[3] ifadesi var olmadığından bu hata fırlatılır. Önce if len(sys.argv) > 3 diye kontrol etmeniz gerekiyor.

İyi çalışmalar.