HTTP Trafiğinde Filtreler

layef

Üye
28 Mar 2020
135
46
nowhere

Bu yazımızda HTTP trafiğini incelerken kullanabileceğimiz filtreler hakkında bilgi vereceğim.

Yapacağımız örneklerde kullandığımız araç Wireshark Version 3.2.8





Http(Hyper Text Transfer Protocol) Protokolü Nedir?

90 yıllardan bu yana kullanılan popüler bir iletişim protokolüdür. HTTP protokolü sayesinde internet ağı üzerindeki web sayfaları görüntülenebilir. Genel manada HTTP istemci(web tarayıcı örn. chrome) - sunucu(web sunucusu) arasındaki iletişimin kurallarını belirleyen yapıdır. Taşıma katmanında TCP protokolünü kullanır. Ayrıca bu protokol 80 portunu kullanır.

Temel Çalışma Mantığı

Bir tarayıcı yardımıyla bir web sayfasına girmek istersek, sitenin adresini yazdığımızda HTTP ile web sayfasına bir bağlantı isteği göndermiş oluruz. Eğer bu istek kabul edilirse(200lü kodlar döner) web sayfası ile bağlantı kurmuş oluruz. Eğer kabul edilmezse(500lü kodlar eğer tarayıcı ile ilgili bir hataysa 400lü kodlar) bize bir hata kodu döndürür.

Filtreler

Kod:
http.response == 1 || 0 
http.response == true || false



Gelen cevapları(response) görmek için boolean kullanabiliriz. True veya 1 değeri response'ları bize filtreleyecektir.

Kod:
http.response.code = 200



HTTP yanıt durumu kodları ile filtreleme yapılabilir. Örnek "200 Tamam" yani başarılı istekleri filtreledik.

veya

Kod:
http.response.code == 404



Bu sefer ise 404 Not Found yani bulunamama hatasının bulunduğu paketleri filtreledik.

Kod:
http.request.method == "GET"



request methodu "GET" olanları filtreledik.

Kod:
http.request.method == "POST"



request methodu "POST" olanları filtreledik.





Kod:
http.user_agent == "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:33.0)"



User-Agent değeri ile filtreledik.

User-Agent Nedir? Kullandığımız internet tarayıcılarının hepsi içerisinde User-Agent bilgisi bulundurur. Biz bir sunucuya bağlanmak istediğimizde karşı taraf bizim hangi tarayıcıyı ve hangi işletim sistemini kullandığımızı öğrenebilir.



Pakete Follow > HTTP Stream yaparak kontrol edebiliriz. Diğer vereceğimiz örneklerde de detaylar için bu işlemi yapınız.

Kod:
http.host == "asecuritysite.com”



Host adresine göre filtreleme yapabiliriz.



Kod:
http.request.full_uri == "Full/request/URI/adresi"



Full request URI adresi ile filtreleme yapabiliriz.







Kod:
http.date == "Mon, 17 Jun 2013 09:27:32 GMT"



Tarihe göre filtreleme yapabiliriz.



Kod:
http.content_type == "application/json"



Uygulama türünü belirterek filtreleme yapabiliriz.Ayrıca "text/html", "text/css", "application/xhtml+xml" vs.. bunlar da birer örnektir.







Kod:
http.accept_encoding == "gzip, deflate"



Accept Encoding istemcinin hangi içerik kodlamasını anlayabileceğini bildirir, genellikle bir sıkıştırma algoritması olur. Buradaki örnekte gzip ve deflate(her ikisi de dosya sıkıştırmada kullanılır gzip daha etkilidir.) olarak filtrelemiş bulunduk.

Kod:
http.accept_language == "en-us"



Accept-Language HTTP başlığı, istemcinin hangi dilleri anlayabildiğini ve hangi dil türünün tercih edildiğini bildirir. Burada en-us olarak filtreledik.




Bunların Dışında;

Kod:
http.cookie 		> cookie bilgisine göre filtreleme 

http.content_length	> içerik uzunluğuna göre filtreleme

http.content_type	> içerik tipine göre filtreleme

http.file_data		> veriye göre filtreleme

http.********		> konuma göre filtreleme

http.time		> zamana göre filtreleme

Görüntü Filtreleri;

Kod:
[COLOR="red"]http contains PNG or "\x89\x50\x4E\x47"  
http.content_type == "image/png"[/COLOR]

http contains GIF or "GIF89a"  
http.content_type == "image/gif"

[COLOR="Red"]http contains JPEG or "\xff\xd8" 
http.content_type == "image/jpeg"[/COLOR]

Video ve Ses Filtreleri;

Kod:
http contains MP3 or "\x49\x44\x33"  

[COLOR="Red"]http contains AVI or "\x52\x49\x46\x46" [/COLOR]

Önceki yazımda kırmızı ile yazılanları detaylı bir şekilde inceledik. Detay için..

Diğer Dosya Türleri;

Kod:
http contains PDF or "%PDF"

http contains ZIP or "\x50\x4B\x03\x04"

http contains RAR or "\x52\x61\x72\x21\x1A\x07\x00"

http contains GZIP or "\x1F\x8B\x08"

http contains SWF or "\x46\x57\x53"

Ayrıca filtreleme işlemi yaparken stringler yerine kullanabileceğiniz Magic Number'lar işinize yarayabilir. Detay için..

Not: Bazı Wireshark filtreleri eski versiyonlarda desteklemeyebilir örneğin "http.accept" filtresi 1.0.0 versiyonu ile 3.4.1 versiyonu arasındaki wireshark sürümleri için kullanılabilirken, "http.bad_header_name" filtresi 3.0.0 versiyonu ile 3.4.1 versiyonu arasında kullanılabiliyor.

Not2: HTTP filtrelerinde daha da detaya inmek isterseniz bu adresten filtrelerin karşısına gelebilecek değişken tiplerine ve desteklediği versiyonlara kadar hepsini bulabilirsiniz.


Konumu burada bitirmiş bulunmaktayım.


Selam ve Sevgilerle..





 
Son düzenleme:
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. 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.