- 15 Ocak 2019
- 302
- 71
Merhaba, host header atakları bir web servisin içerisinde HTTP alanında bulunan header bölümündeki host kısmının manipüle edilmesidir. Örnek vermek gerekirse bir web sitesinin yönetim panelinde şifre sıfırlama alanını düşünelim. Ben hedef kişinin e mail bilgisini yazıyorum ve request bölümünde ;
host: victim.com iken bu veriye hacker-mxserver.com yaptığımı baz alın.
Sunucu bir host alanına ihtiyacı olduğundan bizim fake mx server' a postayı düşürecek, aslında [email protected] bu postayı tıkladığında oluşturduğumuz fake sitenin loglarına kullanıcının verileri düşecek. Örnek yapalım...
Sistemin bize verdiği bilgilerle login oluyoruz ardından bizi kendi e-mail kısmımız karşılıyor, büyük ihtimalle [email protected] iken değeri carlos denilen elemanınki ile değiştireceğiz. Öncelikle exploit serverımıza gidip bize verilen url i alalım.
Burda ufak bir not vermek istiyorum http:// https:// verilerini kabul edemeyebilir, ve /exploit yaptığınızda sıkıntı yaratabilir bunun için exploitservrisiniz.com/#exploit şeklinde denemeler yapabilirsiniz. Log sayfasına baktığımızda arkadaşın tokeni elimize düşüyor. Şimdi ise yapmanız gereken tek şey pathi kopyalayıp carlos nickli kişinin şifresini değiştirip auth olabilirsiniz.
İkinci lab'a geçelim aynı şekilde giriyoruz, bizlere herhangi bir login vermemiş sadece /admin pathine ulaşmamızı istiyor. Yapılacak olan işlem aslında basit bunu SSRF zafiyeti gibi düşünün, host bilgisi http://127.1/ adresinde ;
Bu requestin ardından direk login i bypass etmiş oluyoruz, bizden istenilen olay ise yine bu gariban carlos arkadaşı silmek olacak bunun için /admin/delete?username=carlos diyoruz
302 found a atması güzel birşey çünkü tekrar /admin/ pathine geldiğinizde artık carlos olmayacaktır.
Son lab ise web cache poising kullanacağımız bir alan olacak, örnekte host: bilgisi vermekte iken çift adet host bilgisi girebiliriz, bunlarla beraber X-Forwarded-Host & X-For & X-Host bilgileri ile test edebilirsiniz, lakin direk ana sayfaya balıklama atlamayın.
Bu işlemin ardından port swigger'ın exploit labına gidin ve /exploit alanında sizden istenen veriyi verin yani alert(document.cookie) verisini bu kısma giriyoruz. 'resources/js/tracking.js' ekini /exploit kısmı ile değiştirin. Ve en son olarak exploit domaininizi girip requesti yollayın.
Bunların haricinde çözdüklerimizin sadece labta kalmasını istemiyorsanız çıkan exploitlere bakarak realworld kavramında testler edinebilirsiniz. Ben wordpress üzerinde bulunan 2.3-4.8 sürümlerini etkileyen bir exploit bırakıyorum, şöyle bir örnek bırakayım ;
Live test yapmak için censys - hunter how gibi sitelerde WordPress 2.3-4.8.3 gibi aramalar yapabilirsiniz. (wordpress host header injection)
host: victim.com iken bu veriye hacker-mxserver.com yaptığımı baz alın.
Sunucu bir host alanına ihtiyacı olduğundan bizim fake mx server' a postayı düşürecek, aslında [email protected] bu postayı tıkladığında oluşturduğumuz fake sitenin loglarına kullanıcının verileri düşecek. Örnek yapalım...
Sistemin bize verdiği bilgilerle login oluyoruz ardından bizi kendi e-mail kısmımız karşılıyor, büyük ihtimalle [email protected] iken değeri carlos denilen elemanınki ile değiştireceğiz. Öncelikle exploit serverımıza gidip bize verilen url i alalım.
Burda ufak bir not vermek istiyorum http:// https:// verilerini kabul edemeyebilir, ve /exploit yaptığınızda sıkıntı yaratabilir bunun için exploitservrisiniz.com/#exploit şeklinde denemeler yapabilirsiniz. Log sayfasına baktığımızda arkadaşın tokeni elimize düşüyor. Şimdi ise yapmanız gereken tek şey pathi kopyalayıp carlos nickli kişinin şifresini değiştirip auth olabilirsiniz.
İkinci lab'a geçelim aynı şekilde giriyoruz, bizlere herhangi bir login vermemiş sadece /admin pathine ulaşmamızı istiyor. Yapılacak olan işlem aslında basit bunu SSRF zafiyeti gibi düşünün, host bilgisi http://127.1/ adresinde ;
Bu requestin ardından direk login i bypass etmiş oluyoruz, bizden istenilen olay ise yine bu gariban carlos arkadaşı silmek olacak bunun için /admin/delete?username=carlos diyoruz
302 found a atması güzel birşey çünkü tekrar /admin/ pathine geldiğinizde artık carlos olmayacaktır.
Son lab ise web cache poising kullanacağımız bir alan olacak, örnekte host: bilgisi vermekte iken çift adet host bilgisi girebiliriz, bunlarla beraber X-Forwarded-Host & X-For & X-Host bilgileri ile test edebilirsiniz, lakin direk ana sayfaya balıklama atlamayın.
Bu işlemin ardından port swigger'ın exploit labına gidin ve /exploit alanında sizden istenen veriyi verin yani alert(document.cookie) verisini bu kısma giriyoruz. 'resources/js/tracking.js' ekini /exploit kısmı ile değiştirin. Ve en son olarak exploit domaininizi girip requesti yollayın.
Bunların haricinde çözdüklerimizin sadece labta kalmasını istemiyorsanız çıkan exploitlere bakarak realworld kavramında testler edinebilirsiniz. Ben wordpress üzerinde bulunan 2.3-4.8 sürümlerini etkileyen bir exploit bırakıyorum, şöyle bir örnek bırakayım ;
Live test yapmak için censys - hunter how gibi sitelerde WordPress 2.3-4.8.3 gibi aramalar yapabilirsiniz. (wordpress host header injection)
Son düzenleme: