Web Sunucuları Hakkında Bilgi Toplama

Nedir?

Web sunucusunun hangi yazılım veya sistem tarafından çalıştırıldığını tespit etmek için kullanılan bir sızma testi aşamasıdır. Bu bilgi, saldırganların hedef sistemler hakkında daha fazla bilgi edinmelerine ve zayıf noktalarını belirlemelerine yardımcı olabilir. Web sunucusunun türünü belirlemek için çeşitli yöntemler kullanılabilir, örneğin HTTP başlıklarının analizi, WHOIS araştırmaları, port taraması, banner grabbing ve diğerleri. Bu bilgi, saldırganların daha özel saldırılar geliştirmelerine yardımcı olabilir. Aynı zamanda, siber güvenlik profesyonelleri de bu bilgiyi, web sunucularını daha güvenli hale getirmek için kullanabilirler.

Kullanılan Araçlar

  1. Nmap: Port taraması yaparak, hedef sistemdeki web sunucusu için kullanılan portları belirleyebilirsiniz. Ardından bu portları hedefleyen sorgular göndererek web sunucusu türünü belirleyebilirsiniz.

  2. WhatWeb: Web sunucusunun türünü tespit etmek için HTTP başlıklarını analiz eden açık kaynaklı bir araçtır. Bu araç, web sunucusu tarafından kullanılan yazılımı belirlemek için bir dizi özellik kullanır.

  3. Netcraft: Web sunucusu analizi yapmak için birçok araç sunan bir hizmettir. Bu araç, web sunucusu türünü belirlemek için DNS kayıtlarını, WHOIS kayıtlarını ve diğer kaynakları kullanır.

  4. Wappalyzer: Web sayfalarındaki teknolojileri belirleyen bir Chrome eklentisidir. Bu araç, web sunucusunun kullanılan yazılımının yanı sıra web sayfasındaki CMS, e-ticaret platformu, analiz araçları ve diğer bileşenleri de belirleyebilir.

  5. Fingerprinting Tools: Web sunucusunun türünü tespit etmek için özel olarak tasarlanmış araçlar da bulunmaktadır. Bu araçlar, web sunucusu türünü belirlemek için web sunucusunun davranışlarına ve tepkilerine odaklanır ve benzersiz özelliklerini ararlar. Örnek olarak, BlindElephant, WhatWeb, HTTPrint ve WebSurgery gibi araçlar bulunmaktadır.

  6. BuiltWith: Web sayfalarındaki teknolojileri belirleyen bir araçtır. Bu araç, web sunucusu türünün yanı sıra web sayfasındaki kullanılan CMS, e-ticaret platformu, analiz araçları ve diğer bileşenleri de belirleyebilir.

  7. Fiddler: HTTP trafiğini analiz eden bir araçtır. Bu araç, web sunucusu tarafından gönderilen HTTP yanıtlarını analiz ederek web sunucusu türünü belirleyebilir.

  8. Nikto: Web sunucusunda bulunan potansiyel güvenlik açıklarını tespit etmek için tasarlanmış bir araçtır. Bu araç aynı zamanda web sunucusu türünü de belirleyebilir.

  9. Wget: İndirme yöneticisi olan Wget, web sayfalarını indirebilir ve HTTP yanıtlarını analiz ederek web sunucusu türünü belirleyebilir.

  10. cURL: Komut satırı tabanlı bir araç olan cURL, web sayfalarını indirebilir ve HTTP yanıtlarını analiz ederek web sunucusu türünü belirleyebilir.

PYTHON KODU

import requests

# Hedef web sitesinin URL'sini girin
url = "http://example.com"

# HTTP GET isteği gönderin ve yanıtı alın
response = requests.get(url)

# Web sunucusunun türü hakkında bilgi alın
server_type = response.headers.get('Server')

# Web sunucusunun çalıştığı işletim sistemi hakkında bilgi alın
os_type = response.headers.get('X-Powered-By')

# Web sunucusunun bağlı olduğu TCP/IP portunu alın
port = response.url.split(':')[-1]

# Web sunucusunun son güncelleme tarihini alın
last_modified = response.headers.get('Last-Modified')

# Web sunucusunun kullanılan dil kodlamasını alın
charset = response.headers.get('Content-Type').split('charset=')[-1]

# Web sunucusunun konumu hakkında bilgi alın
location = response.headers.get('Location')

# Web sunucusunun desteklediği HTTP yöntemleri hakkında bilgi alın
allow = response.headers.get('Allow')

# Web sunucusunun HTTP yanıt kodunu alın
status_code = response.status_code

# Web sunucusunun yanıtın boyutunu alın
content_length = len(response.content)

# Elde edilen bilgileri yazdırın
print('Web Sunucusu: ' + str(server_type))
print('İşletim Sistemi: ' + str(os_type))
print('Port: ' + str(port))
print('Son Güncelleme: ' + str(last_modified))
print('Charset: ' + str(charset))
print('Konum: ' + str(location))
print('İzin Verilen Yöntemler: ' + str(allow))
print('HTTP Durum Kodu: ' + str(status_code))
print('İçerik Boyutu: ' + str(content_length))

Bu kod, istenen URL’ye bir GET isteği gönderir ve web sunucusunun türü, çalıştığı işletim sistemi, bağlı olduğu TCP/IP portu, son güncelleme tarihi, kullanılan dil kodlaması, konumu, desteklediği HTTP yöntemleri, HTTP yanıt kodu ve yanıtın boyutu gibi bilgileri alır. Bu bilgileri ekrana yazdırarak elde edebilirsiniz.

0 0 votes
Eğitimi Derecelendir
Subscribe
Bildir
0 Yorum
Inline Feedbacks
View all comments
0
Lütfen bu eğitimle ilgili yorumunuzu bırakınx