PHP Site Hackleme Nasıl Yapılır? Çözümü Nedir?

Anasayfa » Merak Ettiklerim » PHP Site Hackleme Nasıl Yapılır? Çözümü Nedir?
Merak Ettiklerim 2 yorum

Web yazılım dillerinin vazgeçilmez dili olan PHP ile dinamik internet siteleri oluşturabiliriz, günümüzün internet dünyasında en fazla kullanılan PHP yazılım dilinde bugün son 1 senedir kullanılmakta olan Hack yöntemlerine değinmek isterim. İnternet sitelerini yönetebilmek için normal ziyaretçilerin erişemeyeceği ve şifre ile giriş yapılabilen bir ara yüz ile internet sitelerinizi rahatlıkla yönetebilirsiniz. Tıpkı bu işlemi Facebook’taki profiliniz gibi veya modem ayarlarınızı yapmış olduğunu ara yüz gibi düşünebilirsiniz. Bu ara yüze giriş yapılabilmek için mutlaka bir şifre doğrulama seçeneği ile karşı karşıya gelirsiniz, peki bu tür sitelere şifre gerek kalmadan sadece direk olarak giriş mümkün müdür? Bu soruya tam olarak evet demek maalesef ki mümkün değil lakin kimi durumlarda sitenin alt yapısını oluşturan yazılımcıların unutmuş oldukları bir komut ile bu durum mümkün hale geliyor.

Ara yüze giriş yapabilmek için kullanıcı ilk etapta şifreyi girer ve şifre mevcut veri tabanında var ise şifreyi giren kullanıcının sisteme giriş yapmasına izin verir. Şayet şifre yanlış ise veri tabanlarını kontrol eder ve şifre yanlış ise kişi ara yüze yönlendirmek yerine direk olarak tekrardan Giriş Yap sayfasına yönlendirir. Peki, yönlendirme yapmazsa ne olur? Sisteme direk olarak giriş yapılmış sayılırız değil mi? Tam da sizin düşündüğünüz gibi evet sisteme direk olarak giriş yapabilirsiniz. Yani bir internet sitesinin admin panelinin tam adresini biliyorsanız geri yönlendirmeyi iptal ederek o siteye giriş yapabilirsiniz. Yani bir nevi halk arasında sistemi hackleyebilirsiniz. Peki, bu nasıl yapılır geri yönlendirmeyi nasıl iptal edebiliriz.

Chrome ve Mozilla tarayıcılarında mevcut olan geri yönlendirmeyi iptal eden eklentiler ile sisteme rahatlıkla giriş yapabilirsiniz. Benim sürekli olarak tercih etmiş olduğum Mozilla NoRedirect eklentisi ile PHP ile yapılan siteleri hackleyebilir veya mevcut kodlamış olduğunuz PHP scriptte herhangi bir açık olup olmadığını rahatlıkla kontrol edebilirsiniz. NoRedirect eklentisini kurduktan sonra seçenekler kısmından hangi siteye giriş yapmak istiyorsanız o sitenin admin adresini girmeniz durumunda direk olarak o siteye erişim sağlayabilirsiniz.

NoRedirect Sorunu Nasıl Çözülür?

PHP mantığı ile gelen şifre şayet veri tabanlarında yok ise direk olarak exit(); ya da die(); komutları ile sayfayı sonlandırmanız sizlere direk olarak çözüme ulaştıracaktır. Sadece gireceğiniz 5 veya 8 harflik bir komut ile sisteminizi son derece güvenli bir hale getirebilirsiniz. Olayı daha iyi anlayabilmeniz adına basit bir örnek;

<?php
        ....
	if(!$user->is_logged_in()){ header('Location: login.php');}
?>
HTML kodları vs..

Şimdi sizinle birlikte yukarıdaki kodu basitçe şöyle yorumlayalım, “eğer ‘is_logged_in’ yok ise login.php adresine yönlendir”. Olay sadece bundan ibaret sadece bir yönlendirme işlemi vardır bunun haricinde başka bir şey yapmıyordur. Bu gibi durumlarda yukarıda bahsetmiş olduğum eklenti ile direk olarak böyle sitelere giriş yapabilirsiniz. Lakin çözüm yolu aşağıdaki kod gibi olması gerekmektedir.

<?php
        ....
	if(!$user->is_logged_in()){header('Location: login.php');
        die(); // veya exit(); kullanabilirsiniz
        }
?>
HTML kodları vs..

Yukarıdaki kodu da şöyle yorumlayabilirsiniz. “eğer ‘is_logged_in’ yok ise login.php adresine yönlendir ve aşağısını yani HTML kodlarını gösterme”. ifadesi çıkmaktadır. exit(); ya da die(); ile direk alt kodları sonlandırabilirsiniz.

Yorum yapmak için