Py4H Code Hunter

Bu yazımızda PHP scriptlerde bug (hata, zafiyet) avcılarının işini kolaylaştıracak bir araç kodlayacağız.

Saldırı Senaryosu:

Hedef bir PHP projesini bütünüyle ele alıp GET ve POST işlemleri yapılan .php dosyalarını bulmak ve bu dosyalarda zafiyet taraması yapmak için kodları göze hoş bir şekilde renklendirmek.

Algoritma:

  1. Başla
  2. Belirtilen dizine git
  3. Tüm alt dizinleri gez ve php dosyalarını bul
  4. Ekrana yaz
  5. Bitti

Program 2 işlevli olduğu için 2. algoritmamız:

  1. Başla
  2. Php dosyasını oku
  3. Süzgeçten geçir
  4. Süzgeçe yakalanan satırları renklendir ve ekrana yaz
  5. Bitti

Kod Paylaşımı:

Aşşağıdaki kodlar renk kodları, içeriye aktarılan kütüphaneler ve tanımlanan değişkenlerden oluşmaktadır.

Aşağıdaki kodlarımız, scriptteki kodları renklendirmeyle görevlidir. Gelen dosyayı (dizin ismi ile beraber gelmeli yoksa aynı dizinde olmalı dosyamız) açıp okur satır satır süzer ve renklendiririz. Ekrana yazarken satır sayısı ile beraber yazarız. Süzme işemini açık oluşturabilcek php fonksiyonlarına göre yaptık bu daha fazla eklenebilir yada sizin tarayacağınız php projelerine göre düzenlenebilir.

Aşağıdaki kodlarımızda olan dizin gezme algoritmasını daha önceden paylaşmıştık. gezgin() metodumuzun görevi verilen dizine girmek ve ne var ne yok diye bakması için Arastirmaci() metodunu çağırmak bu metod işini bitirince tekrar bir üst dizine çıkmak. Arastirmaci() metodumuz ne var ne yok bütün dosyaları alır bu bir dizin mi ve bu dizine girilmemiş mi diye sorar bu cevap olumluysa gezgin() metodu tekrar devreye girer biraz hiyerarşik bir yapısı vardır. Eğer bu bir dizin değil dosya ise ve bu bir php dosyası ise gerekli süzgeçleri uygular ve istediğimiz php dosyalarını bize bulur ve getirir. Nedir bu istediğimiz php dosyaları? İstediğimiz php dosyaları içerisinde _GET ve _POST işlemi yapılmış dosyalardır.

Aşağıdaki kodlarımız ilk çalışacak olan kodlardır diyebiliriz. Olası hatalar için try-except yapısını kullandık ve bu sefer yakaladığımız hatanın türüne görede kullanıcımızı yönlendirdik.

Kodlarımızın tamamı:

Not 1: Yaptığımız bu proje Python 2x sürümü ile yazılmıştır ve standart kütüphaneler kullanılmıştır. Herhangi  bir kütüphane yüklemenize gerek kalmamaktadır.

Not 2: Program Linux’ta test edildiği için renk kodlarının çalışabilirliği Windows’ta denenmemişir .

Programı chmod ile çalıştırılabilir izni verip /usr/bin/ dizinine atarsanız programı kullanmak için dizinler ile uğraşmamış olursunuz.

6 thoughts on “Py4H Code Hunter”

  1. Merhabalar,

    Php sitenin tüm kodlarını nasıl ele alacağız?
    Yani sadece browserdan sağ tıklayıp sayfa kaynağını gör demek php sitenin tüm kodlarına erişim imkanı sağlar mı ?
    Yoksa farklı bir işlem yapılmalı mı kodlara erişmek için ?

    1. Merhaba, php kodlarını hiç bir bot script alamaz. Almak için siteyi hacklemeniz gerekmektedir. Dikkat edin ve logları silmeyi unutmayın.

    1. Merhaba Faruk, bu önerini dikkate alacağım ve programın nasıl sonuçlandığı ile ilgili ekran görüntüsü koymaya çalışacağım sağolasın.

  2. selam.
    Ben python’a yeni başlıyorum başlangıç seviyesinde eğitimleriniz yada dökümanlarınız varsa paylaşırmısınız.

  3. baslangıc sevıye ıcın ne onerınız var benım ıcın degerlı olacaktır paylasırsanız genel olarak web sıte hack ıcın anonımlıgınden tutunda tammam bıttı dıyene kadar
    aslında daha cok index bas cıkcı lardan degılım daha cok bılgı toplama ışleme istihbarat şahıs zafiyeti uzerine uzmanlasmak ıstıyorum mesela yunan vekilinin gızlı verilerini veya kurumun verileri beni bunlar ilgilendiriyor rastgee web sıtesı ındex basmak degılde tam tersıne data al cık ogrenmeyı ıstıyorum
    ılk oncelıgım anonım olma degerını yuzde 90 lara cıkarmak lutfen kardes yardımcı oll dusmanın sılahına gore sılahlanalım hadıstır SElametle…

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Time limit is exhausted. Please reload CAPTCHA.