Hepinize selamlar!
ben turkhackteam.org Anka Red TEAM'den,
@u1ku1912
Arkadaşlar kısa bir aradan sonra tekrardan sizlerleyim.
! Önceki başlatmış olduğum serilerimi takip edenler, serilerimiz kaldığı yerden devam edecektir. !
Bugün beraber götürdüğümüz seriler ile birlikte Etik Hackerlik adında bir seri başlatıyorum.
Hazırsanız başlayalım:
World Wide Web, İnternet üzerinde yayınlanan birbirleriyle bağlantılı hiper-metin dokümanlarından oluşan bir bilgi sistemidir.
Bu dokümanların her birine web sayfası adı verilir ve web sayfalarına İnternet kullanıcısının bilgisayarında çalışan web tarayıcısı adı verilen bilgisayar programları aracılığıyla erişilir.
Web sayfalarında metin, resim, ses, video ve diğer çoklu ortam ögeleri bulunabilir ve bağlantı (link) adı verilen hiper-bağlantılar ile başka web sayfalarına geçiş yapılabilir.
! İnternet ve web terimleri aynı olguyu tanımlamaz. !
Zira web sadece İnternet üzerinde çalışan bir servistir. Web kavramı, CERN'de bir bilgisayar programcısı olan Tim Berners-Lee'nin HTML adlı metin işaretleme dilini geliştirmesiyle oluşmuştur.
Web'in temeli İnternet'tir. Web İnternet üzerinde kurulmuştur ve İnternet'in sunduğu mekanizmalardan çoğunun kullanılmasını sağlar.
İnternet'in fiziksel görünüşleri –bilgisayarlar, ağlar ve servisler– dünya üzerindeki diğer binlerce bilgisayara bağlanmamıza izin verir.
Web, İnternet'in en tepesindeki soyutlanmış genel servisler kümesidir. World Wide Web , insanların fikir ve projelerinin paylaşılmasını sağlayan bir bilgi ve kültür havuzudur. İstemci-sunucu uygulamaları ile yapılan birçok organizasyon üzerinde web tarayıcıları istemci olarak çalışabilirler.
Web yürütümü standart istemci-sunucu modelini izler ve web tarayıcısı adı verilen programı çalıştıran bir istemci bilgisayar ile web sunucu yazılımı çalıştıran bir sunucu bilgisayar arasındaki etkileşime "istemci-sunucu" etkileşimi adı verilir.
= İstemci bilgisayar, sunucudan HTTP'yi (Hypertext Transfer Protocol) ve İnternet mesaj standardı TCP/IP'yi kullanarak bir belge ister ve sunucu, istemcinin göstereceği belgeyi verir.
Bir istemci bir sunucudan bilgi veya hizmet talep eder. Sunucu, bu talebi işler ve gerekli yanıtı istemciye geri gönderir. Bu etkileşim, web'in temelini oluşturur.
Sunucu bileşeni, bir veya birden fazla istemciye bir işlev veya hizmet sağlar; bu istemciler de söz konusu hizmetler için istekte bulunurlar.
İstemcinin yalnızca ilgili uygulama protokolüne dayalı yanıtı , yani istenen hizmet için verilerin içeriğini ve biçimlendirmesini anlaması yeterlidir.
Bir sunucu, kısa bir süre içinde birçok farklı istemciden istek alabilir. !
Bir bilgisayar aynı anda yalnızca sınırlı sayıda görevi yerine getirebilir ve gelen istemci isteklerini önceliklendirmek için bir zamanlama sistemine güvenir.
Kötüye kullanımı önlemek ve kullanılabilirliği en üst düzeye çıkarmak için , sunucu yazılımı istemcilere olan erişilebilirliği sınırlayabilir.
Hizmet reddi saldırıları (DOS/DDOS), sunucunun istekleri işleme yükümlülüğünü aşırı istek oranlarıyla aşırı yükleyerek istismar etmek için tasarlanmıştır. İstemci ve sunucu arasında hassas bilgiler iletilecekse şifreleme uygulanmalıdır.
Alan Adı Sistemi (DNS), kullanıcıları World Wide Web'deki web sitelerine, hizmetlere ve kaynaklara bağlamada temel bir rol oynayan İnternet altyapısının kritik bir bileşenidir.
www.deneme.com gibi bilgisayarların ve ağ cihazlarının internette birbirlerini bulmak için kullandıkları sayısal IP adreslerine, 162.0.0.3 gibi çevirir.
İnsanlar tarafından kolayca ezberlenebilen alan adlarını, dünya çapında bilgisayar servisleri ve cihazlar için gerekli sayısal IP adreslerine çevirir.
DNS, çoğu internet servisinin işlevselliği için temel bir bileşendir, çünkü Internetin temel yönetici servisidir.
Alan adı (DOMAİN), bir web sitesinin internetteki adı ve adresidir. Bu adres olmadan bir internet kullanıcısı web sitesine sadece IP adresiyle ulaşabilir. (Web Pentest serisinde göstermiştim)
Domain 3 kısımdan oluşur:
www.deneme.com
www - alt alan adı (subdomain)
deneme - ikinci düzey alan adı (second-level domain)
com - üst düzey alan adı (top-level domain)
TLD, (Üst Düzey Alan Adı) internet alan adları hiyerarşisinin en üstünde yer alır.
Domain'in son kısmıdır, alan adı uzantısı da denir. TLD'ler, web sitelerinin türünü, amacını veya coğrafi konumunu belirtmek için kullanılır.
.com ticari kuruluşlar için, .org kar amacı gütmeyen kuruluşlar için (dernek vs. yani) , .gov hükümet kurumları için, .edu eğitim kurumları için kullanılıyor, kullanılmıştır.
Ayrıca, her ülkenin kendine özgü bir TLD'si vardır.
Her alan adının en az bir yetkili ad sunucusu vardır , ve bu sunucu o alan adına ait DNS kayıtlarını tutar. DNS kayıtları, bir alan adının IP adresi, mail sunucularI, alt alan adları gibi bilgileri içerir.
Kullanıcı bir web sitesine erişmek istediğinde, bu talep ilk olarak özyineli çözücüye gider.
Özyineli çözücü, sorguyu çözmek için gerekli araştırmayı yapar.
Yönlendirme başlar ve istenilen bilgi için DNS sunucularında devam eder, bu arada özyineli çözücü gerekli DNS kayıtlarını önbelleğini alır.
Internetin DNS hiyerarşisinin en üstündeki sunuculardır. Tüm TLD'lerin .com, .net, .org vs. adres bilgilerini barındırır.
Özyineli çözücü, alan adının hangi TLD sunucusuna sorması gerektiğini bilmiyorsa, Root Name Servers'a başvurur.
HTTP, istemci-sunucu bilgi işlem modelinde bir istek-yanıt protokolü olarak işlev görür.
Web tarayıcısı istemci olabilir veya bir web sitesini barındıran bir barındırma hizmetinde çalışan bir uygulama sunucu olabilir. İstemci, sunucuya bir HTTP istek mesajı gönderir. HTML dosyaları ve diğer içerik gibi kaynakları sağlayan veya istemci adına diğer işlevleri gerçekleştiren sunucu, istemciye bir yanıt mesajı verir. Yanıt, istekle ilgili tamamlanma durumu bilgilerini içerir, ayrıca mesaj gövdesinde istenen içeriği gösterebilir.
HTTP İstekleri 4 temel bileşenden oluşur:
URL
Method
Başlık
İstek Gövdesi
Get = Bir kaynağı almak için kullanılır.
Post = Sunucuya veri göndermek için kullanılır.
Put = Belirli bir kaynağı oluşturmak için kullanılır.
Delete = Belirli bir kaynağı silmek için kullanılır.
Head = Başlıkları döndürür.
Options = Hangi HTTP metodlarını desteklediğini sorgulamak için kullanılır.
Patch = Bir kısmını güncellemek için kullanılır.
Connect = İstemci ile sunucu arasında tünel kurmak için kullanılır.
Trace = İsteğin sunucuya ulaşma yolunu test etmek için kullanılır.
İstemci tarafından sunucuya gönderilen talepleri belirtir.
Host: İstemcinin bağlanmaya çalıştığı sunucunun ana bilgisayar adını belirtir.
User-Agent: İsteği yapan tarayıcı hakkında bilgi sağlar
Accept: İstemcinin yanıtta kabul etmeye istekli olduğu veri türlerini belirtir.
Accept-Language: Yanıt için tercih edilen dilleri belirtir.
Authorization: Kimlik doğrulama sağlamak için token sağlar.
Cache-Control: Hem istekler hem de yanıtlar için önbellekleme yönergelerini belirtir.
Connection: İstemci ve sunucu arasındaki bağlantıyı yönetmek için seçenekler belirtir.
Referer: Mevcut sayfaya bağlantı veren sayfanın URL'sini belirtir.
Content-Type: İstek gövdesinde gönderilen verinin MIME türünü belirtir, ancak bu örnekte bir GET isteği olduğu için ve istek gövdesi kullanılmadığı için kullanılmamıştır.
HTTP isteği (request) genelde üç ana bölümden oluşur: başlıklar, gövde ve isteğin metoduyla birlikte gönderilir.
HTTP yanıtı (Response), bir istemci tarafından gönderilen bir HTTP isteğine karşı sunucunun verdiği yanıtı ifade eder. Yanıt, istemciye isteğin sonucunu, ilgili verileri ve iletişim durumunu iletmek için kullanılır.
100 = Devam
101 = Protokolleri değiştir
200 = Başarılı
201 = Oluşturuldu
202 = Kabul edildi
203 = Yetkili olmayan bilgi
404 = Bulunamadı
500 = İç Sunucu Hatası
301 = Kalıcı olarak taşındı (Yönlendirme, başka bir url)
Arkadaşlar bugün ki anlatacağım adım adım gittiğimiz konu bu kadardı bir başka konu da görüşmek üzere esen kalın




