Python'da Güvenlik Açığı Bulunan Web Sunucusu, Banner Yakalama

İçindekiler

Bu eğitimde hakkında konuşacağız afiş kapma, a ağda bulunan hizmetler hakkında bilgi elde etmek için kullanılan teknik. Bu sayede ağ üzerinde bilinen güvenlik açıklarıyla çalışan hizmetleri olan makineleri keşfedebiliriz, güvenlik açıklarını kontrol etmek istiyorsak aşağıdaki sayfaya gidebiliriz: CVE.

Kullanımını anlamak için bir örnek yapmaya devam edeceğiz, bir web sunucusunun savunmasız olup olmadığını kontrol etmeye çalışacak (bu eğitimde sadece web'e odaklanacağız). Diyelim ki 2 tür güvenlik açığı arıyoruz, bu nedenle aşağıdaki 2 satırı bir metin dosyasına ekliyoruz (dosyam çağrılacak savunmasız.txt):

 Apache / 2.4.18 CVE-2016-4979 Apache / 2.3.20 CVE-2016-4438
Sonra kodu koydum piton, için sürüm 3.X, ve aşağıda bir açıklama verilmiştir.
 import http.client host = "localhost" http = http.client.HTTPConnection (host, zaman aşımı = 2) http.request ("HEAD", "/") sunucu = http.getresponse (). getheader ('sunucu') savunmasız = open ("vulnerable.txt", "r") isVulnerable = Güvenlik açığındaki hizmet için yanlış: s = service.split ("") if (s [0] sunucuda): print (ana bilgisayar, "hizmeti var", s [0], "olası güvenlik açığı ile", s [1]) isVulnerable = True if (isVulnerable değil): print (ana bilgisayar, "görünüşe göre aradığınız şeye karşı savunmasız bir sunucusu yok")
Şimdi kodun bölümlerine göre bir açıklama göreceğiz, önce kütüphaneyi içe aktarıyoruz. http.client buna ihtiyacımız olacak:
 http.client'i içe aktar
Daha sonra tanımlıyoruz ev sahibi ve bir ile bağlantıyı kurarız zaman aşımı 2 saniye.
 host = "localhost" http = http.client.HTTPConnection (host, zaman aşımı = 2)
Bir sonraki adımımız bir HEAD türü isteği, gövdeyi döndürmez (veriler, ancak bunun için buna ihtiyacımız yok). Ve sonra cevabı alıyoruz.
 http.request ("HEAD", "/") sunucu = http.getresponse (). getheader ('sunucu')
Şimdi metin dosyamızı okuma modunda açacağız (r).
 savunmasız = açık ("vulnerable.txt", "r") esVulnerable = False
Şu anda, başvurulan sayfada bir sunucunun kullanılıp kullanılmadığını kontrol etmek için dosyaya koyduğumuz her savunmasız sunucudan geçecek bir döngü yapacağız. Yöntem kullanılır bölmek sunucuda satırı kırmak ve güvenlik açığı için yukarıda gördüğünüz gibi dosya bir boşlukla ayrılır.
 savunmasız durumdaki hizmet için: s = service.split ("") if (sunucuda [0]): print (ana bilgisayar, "hizmete sahip", s [0], "olası güvenlik açığı ile", s [1]) Savunmasız = Doğru
Son olarak açtığımız dosyayı kapatıyoruz ve zafiyet bulup bulmadığımızı kontrol ediyoruz, yoksa kullanıcıya bir mesaj gösteriyoruz ki bilgilensinler.
 savunmasız.close () if (Hassas değil): print (ana bilgisayar, "görünüşe göre aradığınız şeye karşı savunmasız bir sunucusu yok") 
2 hedefe karşı çalıştıralım, ilki solventtic.com:

Ve ikinci ve son hedef benim makinem, kullandığı Apache sürümü nedeniyle savunmasız olabilecek çalışan bir Apache sunucum var.

Güvenlik açığı hakkında bir şeyler öğrenmek istiyorsak, başlangıçta bıraktığım sayfada, terminalde görebileceğiniz CVE'yi arayabilirsiniz: CVE-2016-4979. üzerine tıklayacaksın Arama ve İndirmeler ve tanımlayıcıyı içine girin CVE'nin Ana Kopyasını Arayın, metnin altındaki kutuya CVE Tanımlayıcıya göre ve ardından Gönder'e tıklayın.

Güvenlik açığı ortaya çıkacak ve bir açıklama, referanslar, tarihler vb. Görebileceksiniz.

Eğitim burada sona eriyor, bu teknik yalnızca web sunucuları için değil, savunmasız hizmetleri aramak için de uygulanabilir, aynı zamanda birkaç ana bilgisayarı aynı anda kontrol edebilirsiniz, böylece birkaç kez başlatmak zorunda kalmazsınız, burada basitlik için yönlendirilmiştir. bir web sunucusuna ve tek bir ana bilgisayara . Ayrıca Telnet veya Netcat yardımıyla Banner Grabbing yapabilirsiniz, burada sunucuyu localhost'tan kaldırmak için Telnet kullanımının bir görüntüsü:

NotWindows'ta Telnet varsayılan olarak devre dışıdır, etkinleştirmek isterseniz aşağıdaki öğreticiyi takip edebilirsiniz.

Bu Eğitimi beğendiniz ve yardım ettiniz mi?Yazara olumlu puan vermek için bu düğmeye basarak yazarı ödüllendirebilirsiniz.

Arkadaşlarınızla sayfasını paylaşan sitenin gelişimine yardımcı olacak

wave wave wave wave wave