- 15 Ocak 2019
- 303
- 71
Selam, bu konuda web cache poising saldırılarını işleyeceğiz örneğin bir web sunucusunun önbellek sunucularını suistimal edilerek, zararlı HTTP yanıtlarını önbelleğe alıp kullanıcıların bilgilerini okuma, xss çağrıları, outh redirect saldırıları gibi birçok örneklendirme yapılabilir. Bunlarla beraberinde DoS, web formlar çağrılarak sosyal mühdendislik uygulanabilir.
1. WEB CACHE POİSİNG LAB
İlk örneğe geldiğimde herhangi bir login cred. filan göremedim öncelikle / alanına bir equest gönderip server'ın verdiği cevaba bakıyorum. X-Cache miss durumda olduğunu fark ettim, ne kadar ana sayfa üzerinde testler yapsam da bir sonuç elde edemiyorum.
Bu durumda test yapmak için HTTP header başlıkları ile oynamamız gerekiyor, örneğin X-Forwarded-Host veya X-Host gibi değerler atıyarak bize gelen cevaplara göre testlerimizi sürdüreceğiz. Bunun için sistemin bana sunduğu exploit server'ı baz alarak X-Forwarded-Host: myexploitserver.com olarak ilerleyeceğim.
Resimde'de gördüğünüz gibi bizim belirlediğimiz hostu tutabiliyor, lakin direkt olarak / yani ana path'den yapınca bu durumu kabul etmiyor. Bu lab'da xss kodu çağırmamız gerekmekte, fark ettiyseniz dreambully.com adlı alan adını doğrudan alıp src kısmını kendisi ekliyor. Burada xss zafiyetini çalıştırmamız gerekmekte.
Bu işlem ile exploiti store ettikten sonra daha önce X-Forwarded-Host bölümüne verdiğimiz domaini exploit serverimiz ile değiştireceğiz, ve ön belleğe düştükten sonra /?null=21212 gibi verileri silip ana sayfa üzerinde store edilmiş mi diye kontrol ettim.
Bunlarla beraber direkt olarak X Forward adreslemesinde de xss saldırısı aranabilir örnek vermek gerekirse ;
GET /?bus=qwerty HTTP/1.1
Host: vuln.com
X-Forwarded-Host: a."><script>alert(1)</script>
Şeklinde testler yapabilir, payloadlar ile durumu daha etkin kılabilirsiniz.
2. WEB CACHE POİSİNG LAB
Şimdiki labaratur ortamında ise bizden yine xss saldırısı yapmamızı istiyor. Aynı methodları kendiyorum lakin ne web sitemiz cache mantığına uymuyor bunun yerine dönen response değerlerini incelediğimde cookie bazlı işlemler yapabileceğimi düşünüyorum.
Görmüş olduğunuz gibi Set-Cookie içerisinde fehost kullanıyor, ve aşağıda bu durum <script> </script> tagları içerisinde alınmış bende request içerisindeki fehost değerini alert(1) olarak verdiğimde data içinde okunuyordu bunun yerine test"-alert(1)-"test yaptığımda ise..
GET / HTTP/1.1
Host: vuln.com
Cookie: session=VftzO7ZtiBj5zNLRAuFpXpSQLjS4lBmU; fehost=prod-cache-01"-alert(1)-"test
Sistem üzerinde xss kodunu çalıştırdım ve ana path'e gelip denediğimde ise benden prod-chache-01 değerinin kayıp olduğunu söyledi bunun yerinde test kısmına bu veriyi ekledikten sonra çiçek gibi challenge'ı tamamlamış oldum.