Turkhackteam.net/org - Turkish Hacking & Security Platform  
Geri git   Turkhackteam.net/org - Turkish Hacking & Security Platform >
Information Technology’s
> Network

Network Network İle İlgili Bölümümüz ...





⚫ OSI Modeli 7.Katman (HTTP-HTTPS) İncelemesi //メ ℳ𝒾𝓉 !!

Network

Yeni Konu aç Cevapla
 
Seçenekler
Alt bir Hafta önce   #1
  • Siber Güvenlik Ekibi
  • Üye Bilgileri
Üyelik tarihi
03/2016
Mesajlar
Konular

Teşekkür (Etti): 81
Teşekkür (Aldı): 498


⚫ OSI Modeli 7.Katman (HTTP-HTTPS) İncelemesi //メ ℳ𝒾𝓉 !!







Selamın Aleykum TurkHackTeam Ailesi ;







- İçerik -

Bugun OSI Modeli'nde 7.katman (Sunum Katmanı) üzerinde ki HTTP-HTTPS Kavramlarını Göreceğiz .

* HTTP ile HTTPS arasındaki farklarları
* HTTP başlıklarını
* HTTP başlıkları analizi
* HTTP request
* HTTP response


Konuları Hakkında Bilgi Sahibi olucaz





HTTP ve HTTPS Nedir ? Farkları Nelerdir ?




HTTP Nedir ?
--------


HTTP protokolü '' Hyper Text Transfer Protocol '' olarak bilinir .

HTTP 7.katmanda (Sunum Katmanı) bulunan bir protokoldür .

HTTP Protokolünde sizle sunucu arasında ki trafik hiç bir şekilde şifreleme yapılmaz .

Trafik 80 Port'u Üzerinden sağlanmaktadır .

Yani HTTP ' li websitelerinde veri hızlığı olabilme ihtimali çok yüksektir , bu yüzden HTTP Bağlantılarda Banka, Kredi Kartı vb. bilgilerimizi girmekten kaçınalım




HTTPS Nedir ?
--------


HTTPS Protokolünün Açılımıda '' Secure Hypertext Transfer Protocol '' olarak bilinir .

HTTPS Protokolüde aynı şekilde 7.Katmanda (Sunum katmanı) yer alır .

Burdaki olay Sizin ile Sunucu arasında ki trafiğin '' SSL Sertifikası '' ile şifrelenmesidir .

SSL Sertifikası Sayesinde Kullanıcı ile sunucu arasında ki trafik alışında ki veriler şifrelenir .

Online olarak alışveriş yapılan sitelerde yada Bankalar gibi kurumlarda SSL Sertifikası Mecburen olmak zorundadır .

Port olarak 443'ü Kullanır .

Hem Hacking olaylarına maruz kalmak istenmemesi SSL Sertifikasına iten sebepler hemde
googlede ki Seo çalışmalarında SSL Sertifikasının etkisi olduğu için tercih edilir .





HTTP ' Protokolünde Güvenlik Kuralları Nasıl Yapılmalıdır ?



'' Strict Transport Security '' Nedir ? Nasıl Uygulanır ?
------------------------


Strict Transport Security (HSTS) uygulanmış olan bir websiteye yapılacak olan her bir istek
HTTPS ' yi kullanamya zorlar ve haliyle bu durum '' Downgrade '' Saldırılarının önüne geçmek için çok zekice kullanılabilecek bir protokoldür .


HSTS Konfigürasyonu yapılandırma Şekli ;
Aşağıdaki cod HTTP Başlık Bilgisine Yerleştirilmelidir .
Kod:
Strict-Transport-Security: max-age=16070400;

Bunu Ana Domain' dışında eğer ki bütün SubDomainler için uygulamak istersek;
Kod:
Strict-Transport-Security: max-age=16070400; includeSubDomains




Strict Transport Security (HSTS) Nerelerde Kullanılır Ve Nasıl Uygulanır ?



Şimdi öncelikle eğer ki bir HTTPS Protokolünde siteniz varsa bunu kullanmanız performans ve güvenlik açısından şart olduğunu belirtmeliyim .

Sonrasında bunu hangi sunucular üzerinde aktif edebileceğinizi sorarsanız bunlar ;

Apache/IIS/Nginx/Tomcat Temel olarak bu sunucu türleri için kullanımı mümkündür .





Sunucular Üzerinde HSTS'yi Nasıl Aktif Ederiz ?



Apache' de HSTS aktifleştirmek için ;

Kod:
# Apache HSTS LoadModule headers_module modules/mod_headers.so <VirtualHost *:443> Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains" </VirtualHost>

Nginx' de HSTS aktifleştirmek için ;


Kod:
add_header Strict-Transport-Security max-age=63072000; includeSubdomains

IIS web.config ile HSTS aktifleştirmek için ;

Kod:
<system.webServer> <httpProtocol> <customHeaders> <add name="Strict-Transport-Security" value="max-age=31536000"/> </customHeaders> </httpProtocol> </system.webServer>





'' X-Frame-Options '' Yapılacak Saldırılar ve Önlemleri




Oncelikle bu saldırıyı anlatalım Saldırganların iframe kodu yürüterek kullanıcıları istenmeyen sayfalara sürükleyebilmektedirler .

Bu x-Frame-Optionların 3 Farklı Parametresi bulunmaktadır ;


Deny Parametresi
Bir sayfanın frame içerisinde çağrılmasını engeller .

SAMEORIGIN Parametresi

Sahip oldugunuz Domain haricinde başka hic bir domainin frame isteklerine yanıt vermez.
ALLOW-FROM uri Parametresi
Sadece uri adresinin frame çağrısı kabul ediler diğer bütün çağrılar engellenir .


SAMEORIGIN Özelliği ile saldırgan kontrolünde ki domain üzerinden yapılacak frame isteklerini engellemek için ;


Kod:
# Nginx için add_header X-Frame-Options SAMEORIGIN; # Apache için Header always append X-Frame-Options SAMEORIGIN # IIS için <httpProtocol> <customHeaders> <add name="X-Frame-Options" value="SAMEORIGIN" /> </customHeaders> </httpProtocol>


X-XSS-Protection Engelleme (XXS Saldırılarından Korunma)


XXS Saldırılarından korunması için x-xss-Protection codları başlık bilgisine girilmelidir .

Sonrasında ise internet tarayıcıları için xxs güvenligini aktif etmemiz gerekmektedir .

Belli Sunucular için X-XSS Protection Codları



Kod:
# Nginx için add_header X-Frame-X-XSS-Protection 1; # Apache için Header always append X-XSS-Protection 1 # IIS için <httpProtocol> <customHeaders> <add name="X-XSS-Protection" value="1" /> </customHeaders> </httpProtocol>

Mode Block - XSS Saldırı blogunun çalışmasını engellemektedir . Şüpheli bir durumda tüm içeriğin render edilmesini engellemek için ise ;

Uygulanması Gereklidir .

Kod:
X-XSS-Protection: 1; mode=block



X-Content-Type-Options (Stored XSS zafiyeti) Zaafiyeti Nedir Nasıl Engellenir ?


Tarayıcılar üzerinden yüklenen dosyaların türlerini belirleme olayıdır .

Ornek olarak GIF dosyası veya JPEG dosyasına erişim talebi olduysa HTTP cevabı üzerinden analiz gerceklestirilerek dosya türü tahmin edilmeye calışılır .


Örnek Senaryo üzerinden bakarsak JPEG uzantılı içeriği ise text/html olan bir dosyayı düsündügümüzde eğer ki biz bu güvenlik kodunu girmessek , Yüklenen dosya url üzerinden çağırılacak ve bu şekilde cagrıldıgı zaman MIME Type sniffing denilen olay gerçekleşecek ve içerik html olarak render edicektir .

En sonunda artık Stored XSS zafiyeti meydana gelecektir .





X-Content-Type-Options: nosniff satırı HTTP başlık bilgisine eklenerek, internet tarayıcılarının MIME Type sniffing yaparak içerik üzerinde karar vermesi engellenmelidir.

Kod:
# Nginx için add_header X-Content-Type-Options nosniff; # Apache için Header always X-Content-Type-Options nosniff # IIS için <httpProtocol> <customHeaders> <add name="X-Content-Type-Options" value="nosniff" /> </customHeaders> </httpProtocol>



Cookie HttpOnly ve Secure Bayrakları
------------------



HttpOnly Bayrağı

Web uygulamalarında kullanıcı oturumları session ID ile takip edilir . Bu değeri diğer kullanıcıya HTTp Set-Cookie başlığı ile iletilir .

İnternet tarayıcıları ise bu değeri saklayarak Cookie nin geçerli oldugu kapsam için otomatik olarak her HTTP talebinde devreye sokacaktır .

Cookie'lerin tek görevi oturum anahtarını taşıması değil aynı zamanda örnek olarak bir sitede dolaştıgınızda orda ki resimlerinizi ön bellege atar bir sonraki girişinizde sitenin daha hızlı açılmasını sağlar .

Burdaki mesele en güvenli Cookie ' ler hangileridir sorusu gelecek burda ki cevap ise Oturum anahtarı bilgisine Javascript vb client-site programming ile ulaşılmaması gerekir bu yüzden de burada HTTPOnly olayı gelir .

Kod:
Set-Cookie: user=t=bfabf0b1c1133a822; path=/; HttpOnly
Cookie set işleminde gönderilen HttpOnly değerine dikkat edilmeli .

HttpOnly bayrağını gören internet tarayıcı ********.cookie değişkeni üzerinden Cookie' e erişim yapıldığında HttpOnly bayrağı olan değerleri işleme almayacaktır.



Secure Flag


Set Cookie işlemlerinde Secure bayrağının kullanılması , bu Cookie değernin HTTPS Taleplerinde headere işlenir .

Bu durum yoğunlukla e-ticaret sitelerinde yada banka sitelerinde görürüz . Hem trafik hızını arttırmak için hem daha güvenli olmasını sağlamak için kullanılan bir yöntemdir .

Ayrıca bu sayede kullanıcıların giriş bilgileri ve banka kartı gibi bilgiler '' NSA '' dan gizlenmiş olacaktır .


Örnek olarak bir saldırı senaryosu cizersek eğer ki ?

Kullanıcı E-ticaret sitesinden login girişini yapar ,
Burada uygulama HTTPS üzerinden istek alır .
İlk adımda Set-Cookie işlemi Secure bayrağı olmadan yapılır .
Kullanıcı Alışverişini yapar .
şimdi buraya kadar sıkıntı yok ama burdan sonra eğer ki kullanıcı tekrardan site içinde gezmeye devam ederse Bu sefer HTTP üzerinden trafik devam edecek bu durumda da korunmasız sistemi Sniff eden bir hacker varsa bütün bilgileri çekecektir .






HTTP Request Metod ( HTTP istekleri )



Bu sorgular karşı sunucuda öğrenilmek istenen bilgilerin ve yapılabilecek durumların kalıpları bulunmaktadır .


8 Adet HTTP Sorgu Metodumuz Bulunmaktadır .

Get, Post, Head, Put, Delete, Connect, Options, Trace Metodları Bulunmaktadır .


HTTP Sorgu Metodları İçerik Bilgileri

-----------



Get Metodu; Sunucudan belli başlı verileri öğrenmek için kullanılır.

Head Metodu; Genel olarak servis sağlayıcısı hakkında bilgi edinilir .

Post Metodu; Bu metodda HTML formları kullanılarak örneğin müşteri bilgileri yada dosya yükleme gibi veriler sunucuya yazdırılır .

Put Metodu; Bu metod ile Servis sağlayıcısı içinde ki bir kaynak üzerinde güncelleme yada kaldırma işlemi uygulanmaktadır .

Delete Metodu; Sunucu içerisinde ki veriler bu metod ile silinir .

Connect Metodu; Belirli bir Kaynak ile hedef sunucu arasında bir tünel oluşturur .

Options Metodu; İstenilen kaynaklarla iletişime geçilebilir .

Trace Metodu; istenilen kaynağın trafik döngüsünü, haritasını ortaya koyabiliriz .



HTPP Request Konusuna Değinmişken ufak bir bilgilendirme yapayım ddos saldırılarında yapılan ataklarda 7.katman saldırılarının etkili olma sebebi ip'e saldırı olmuyor direk olarak GET/POST istekleri gönderiliyor , bu isteklerde koruma kalkanlarına takılmadan direk ana makinaya gittiği için saldırılar başarılı oluyor .






HTTP Reponse (Bilgi Yanıtları)
---------------------




Burdaki Konu hepimizin gördüğü birşey aslında şöyle ki bazen istenilen siteye girişlerde bazı hatalar alırız daha doğrusu hata olarak nitelendiririz neydi onlardan birisi misal '' 404 Not Found '' işte bu karşımıza çıkan kod hata değil bize verilen bir bilgi mesajıdır .


Şimdi Bu HTTP Bilgilendirme Mesajlarının Detaylarına bakalım Hangi kodlar bize ne anlatmak istiyormuş öğrenelim .


1xx ile başlayan HTTP Reponses

100 Contine
Bu tamamen geçici olan bir mesajdır burada yapılan işlemin devam ettiğini sürdürüldügünü gösterir eğer ki bitmişsse görmezden gelinmesi gerekir .

101 Switching Protocol

Bu kod bizlerin sunucuya gönderdigi istek tarafından oluşturulur ve sunucunun protokol değişikliğine gittiğini söyler bize .

102 Processing


Bu kod sunucuya yaptığınız işteğin işleme alındıgını fakat daha yanıt vermedigini gösterir


En temel olarak bunları belirttim bunlar haricinde de bir hata alırsanız bu hatanın numarası 1xx başlıyorsa bilin ki bu sizlere sadece bilgi amaçlı çıkan bir koddur .



2xx ile başlayan HTTP Reponses (Başarı bildiren Kodlar)

Burda ki bu kodlar karşı tarafa gönderilen isteğin olumlu sonuçlandığını bildirir .



200 OK

İstek başarılı oldu. Başarının anlamı, HTTP yöntemine bağlı olarak değişir:
GET: Kaynak alındı ve ileti gövdesinde iletildi.
HEAD: Varlık başlıkları mesajın gövdesindedir.
POST: Eylemin sonucunu açıklayan kaynak, mesaj gövdesinde iletilir.
TRACE: Mesaj gövdesi, sunucu tarafından alınan istek mesajını içerir.



201 Created
Bu genellikle PUT İsteğinden sonra görülen bilgi Kod'udur

202 Accepted


Toplu istekler yapıldıgında onaylandıgı ve istegin işleme alındıgında görülen cod'dur

203 Non-Authoritative Information
200 Kod'unun benzeri özellikler taşır onun yerine bu kodda gösterilebilir .

204 No Content

Gösterilecek bir içerik yok ise eğer ki bağlantının başarılı oldugunu fakat gönderilecek içeriğin bulunmadıgını anlatır bize bu kod .

Ve Görebileceğiniz nadir bir kaç bilgilendirme konuduna aşşağıya bırakıyorum .

205 Reset Content
206 Partial Content
207 Multi-Status( WebDAV )
208 Multi-Status( WebDAV )


3xx ile başlayan HTTP Reponses (Yönlendirme Kodları)

Burda ki kodları biz göremiyoruz cünki erişmek istediginiz bir website başka bir siteye yönlüdür siz girdiginiz an yönlendirilmis olan siteye yönlenir fakat ne olursa olsun belirlenen kod ile bu işlem yapılır .

300 Multiple Choice

301 Moved Permanently
İstenen kaynağın URI'si değiştiginde bu bilgilendirme kodunu bize gösterir .

302 Found
İstenilen kaynağın geçici olarak URI'sinin yer değiştiği bilgisini bize verir .

303 See Other
304 Not Modified
Bu kodu önbellekleme amacıyla kullanır , sayfa hızının artıs saglaması için 2. 3. aynı kaynağa ulaşmak istenildiginde direk bu kod üzerinden işlem yapılır .

305 Use Proxy
Bir proxide bant içi uygulamada güvenlik zaafiyeti sezildiği takdirde bu kod devreye girer.

306 unused
307 Temporary Redirect
Bu Kod'u görüyorsanız sorgu metodunu değiştirin post ise get get ise post sorgulamayı deneyin düzelicektir .

308 Permanent Redirect





HTTP Reponse 4xx'lü Bilgi Mesajları


Bizim sıklıkla gördügümüz bilgi mesajları burada bulunmaktadır .


400 Bad Request
Sunucunun geçersiz söz dizimleri bulunduğu için istekleri algılayamadığı durumlarda görükür.


403 Forbidden

Sunucu tarafından izin verilen kişilerin erişebildigi bölüme yetkisiz kişiler girmeye çalışırsa bu kod çalışır .

404 Not Found
Sunucu çok yogun olduğu için isteği işleme alamaz bu yüzden bu kod'u verir

408 Request Timeout

Gönderilen isteklerin belli bir süre cevap alınmayışı sonrasında istek zaman aşımına uğrar ve bu kod ortaya çıkar .
423 Locked( WebDAV )
451 Unavailable For Legal Reasons




HTTP Reponse 5xx'lü Sunucu Hatası Mesajları


Bu hatayı görüyorsak muhtemelen hedef sunucu sistemi zarar görmüş yada kitlenmiştir .


500 Internal Server Error
502 Bad Gateway
503 Service Unavailable
504 Gateway Timeout



Yukarıda ki ve 5xx tüm Kodlar Sunucu arızası sebebiyle verilen kodlardır .






















- Kazanımlar -



HTTP-HTTPS Nedir ? Portları Nedir ?

XXS Açığı Ve Kapatma yolları .

HTTP-HTTPS Osı Modelinde Kaçıncı Katmanda yer alır ?

HTTP odaklı yapılan Saldırılar ve Önlemleri nelerdir .

HTTP Request Metodları ve Anlatımı .

HTTP Reponse Kodları ve Anlatımları .








Saygılarımla
// xMit !!



___________________________________________

✎ ... TurkHackTeam.org/net
Moderasyon !!
 Offline  
 
Alıntı ile Cevapla
Cevapla

Bookmarks

Seçenekler


Bilgilendirme Turkhackteam.net/org
Sitemizde yer alan konular üyelerimiz tarafından paylaşılmaktadır.
Bu konular yasalara uygunluk ve telif hakkı konusunda yönetimimiz tarafından kontrol edilse de, gözden kaçabilen içerikler yer alabilmektedir.
Bu tür konuları turkhackteamiletisim [at] gmail.com mail adresimize bildirebilirsiniz, konular hakkında en kısa sürede gerekli işlemler yapılacaktır.
Please Report Abuse, DMCA, Harassment, Scamming, Warez, Crack, Divx, Mp3 or any Illegal Activity to turkhackteamiletisim [at] gmail.com

Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz.
Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.



         

Powered by vBulletin® Copyright ©2000 - 2019

TSK Mehmetçik Vakfı

Türk Polis Teşkilatını Güçlendirme Vakfı

Google+
Pomeranian Boo
Siber Güvenlik
sosyal medya bayilik paneli

wau