HACKING

HTTP – IP Restriction Bypass | Root-Me

Merhaba. Bu yazımda Root-Me web server challengelardan birisi olan ip restriction bypass çözümünü yapacağım. Bazı uygulamalara herkesin erişmemesinin istenilmediği yerlere ip kısıtlamaları uygulanabilir. Fakat bu kısıtlamalar bazı teknikler ile manipüle edilerek aşılabilir. Bu tekniğin mantığının kavranması konusunda ip restriction bypass challenge basit seviyede de olsa faydalı ve çözmesi zevkli.

IP Restriction Nedir?

Bazı web uygulamaları, IP adresleri izin verilenler listesinde değilse kullanıcıların örneğin yönetici sayfası gibi bir uygulamanın belirli sayfalarına erişmesini kısıtlayan IP tabanlı koruma kuralları uygular. Bu kurallar bir erişim kontrol mekanizması olarak kullanılır.

İstekleri iletmek için istemci ile sunucu arasında bir proxy bulunmasına dayanır. Proxy, istemcinin IP’sini sunucuya iletir; izin veriliyorsa veya beyaz listeye alınmışsa sunucu istenen sayfayla yanıt verecektir; aksi takdirde isteği engelleyecektir.

Proxy bunu, uygulamaya göndermeden önce isteğe istemcinin IP adresini içeren bir X-Forwarded-For başlığı ekleyerek yapar. Daha sonra uygulama, istemcinin IP adresinin izin verilenler listesinde olup olmadığını belirlemek için X-Forwarded-For başlığını kontrol eder.

Internet erişimlerinde bir proxy sunucusu kullanıldığı durumlarda, hedef web sunucusu orjinal isteği yapan kullanıcıya ait gerçek IP adresini göremez. Bunun yerine proxy cihazının IP adresi hedef sisteme bağlanıyor olarak gözükecektir. Aynı durum Internet servis sağlayıcılar tarafından bant genişliği kazanma amaçlı kullanılan transparan proxy cihazları; yük dengeleme, cache vb. amaçlı kullanılan reverse proxy cihazları için de geçerlidir.
Proxy sunucular X-Forwarded-For HTTP başlığını, web isteğini yapan istemciye ait gerçek IP adresinin hedef sunucuya iletmek için kullanmaktadırlar. Bu başlık RFC’lerde geçen bir standart olmamasına rağmen, genel kabul görmüş bir standarttır. İlk olarak Squid proxy geliştiricileri tarafından implemente edilen bu başlık, diğer bir çok proxy cihazında da kullanılmaktadır.

X-Forwarded-For HTTP Başlığının Kötüye Kullanımı – Sertan Kolat, Ekim 2009, WGT E-Dergi 2. Sayı
X-Forwarded-For HTTP Başlığının Kötüye Kullanımı – Sertan Kolat, Ekim 2009, WGT E-Dergi 2. Sayı

Saldırganlar bu durumdan faydalanabilir ve uygulamanın izin verdiğini bildikleri farklı bir IP’yi ( localhost – 127.0.0.1) taklit ederek kısıtlama kurallarını test edebilir. Orijinal istekler farklı bir engellenmiş IP’den gelse bile uygulamayı, isteklerin güvenilir bir kaynaktan geldiğini düşünerek kandırabilirler.

Root-Me üzerinde yer alan HTTP IP Restriction Bypass uygulamasında bizde X-Forwarded-For başlığına kendi ip adresimizi izin verilen ip adresiymiş gibi düşünerek flaga ulaşacağız.

Sayfaya ilk girdiğimizde bizi aşağıdaki gibi bir panel karşılıyor.

ip-restriction-bypass-panel
ip-restriction-bypass-panel

Burada ip adresimizin görselde olan ip adresi olduğunu ve LAN’a dahil olmadığını söylüyor. İlk olarak admin/admin yazarak veya boş bırakarak login diyorum ve aşağıdaki hatayı alıyorum.

Deneme sonucunda LAN’da olmadığım için kimlik doğrulaması yapmamı söylüyor. Kimlik bilgilerini bilmediğim için test amaçlı admin/admin deniyorum fakat sonuç aynı. Burada isteği yakalamak için Burp Suite kullanacağım. Burp Suite ile isteği yakalayıp isteğe X-Forwarded-For başlığı ile birlikte kendi local ip adresimi yazacağım. Burada sadece mantığı kavratmak için basit seviyede bir challenge olduğu için bunu kabul edecek.

İsteği yakalayıp hiçbir kullanıcı adı ve parola girmeden deneme yapacağım çünkü challenge sayfasında “ağa dahil olunduğunda direkt olarak kullanıcı acı ve parola ile giriş yapmama gerek olmayacağı” söyleniyordu.

İsteğe ip adresimi ekleyip LAN’a dahil olmuş gibi göstererek flagı elde edeceğim.

Başarılı bir şekilde flag değerini elde ettik. Yukarıda da bahsettiğim gibi bu şekilde manipüle edilerek bypass işlemi gerçekleştirilebilir. Root-Me bu tarz challengelar için tavsiye edebileceğim bir platform, mutlaka incelenmesi gerektiğini düşünüyorum. Başka yazılarda görüşmek üzere.

Kaynaklar
https[:]//medium[.]com/r3d-buck3t/bypass-ip-restrictions-with-burp-suite-fb4c72ec8e9c
X-Forwarded-For HTTP Başlığının Kötüye Kullanımı - Sertan Kolat, Ekim 2009, WGT E-Dergi 2. Sayı

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

ten − 6 =

Başa dön tuşu