iyi akşamlar,
bir kaç gün önce shell injection ile sitemi hacklemişler. İlk bakışta bir sorun yok ama admin panelinde 2 sayfaya girince otomatik yönlendirme oluyor. Tıpatıp benzer başka sayfalarda yönlendirme olmuyor ama. Sayfanın kodlarına bakınca hiçbir yönlendirme kodu yok. Acaba hangi yollarla yönlendirme yapılabilir?
not: .htaccess dosyası yok sistemde.
Mazlum Sahinkusu
M
Veritabanı sorgusu ile veritabanından yönlendirme kodu çekiyor olabilir bi incleyin isterseniz veritabanınızı
aynen dediğin gibi varmiş teşekkürler ya. Kaç saattir araştırma yapıyordum. Bu kadar basitmiş
Ne demek
Siteyi nasil geri alabildin ?
siteyî tam hackleyememişler. Sadece injection yapip, admin paneline ulaşmişlar. Ordan da linkleri falan değiştirmişler. O kadar. Yani siteyi ele geçirmediler.
Admin paneline eristilerse nneden yonetici degisikligi yapmamislar ilginc dogrusu. Arkadasimin sitesi gitmisti bu yuzden geri almistik
çunku admin panelinde yonetici değişikliği diye bir işlem yok
Anladim
nereden injection yediginizi ogrenip sorunu duzeltiniz mi
shell injection için dosya yukleme sayfasi gerekiyor. Bende bikaç yerde dosya yukleme var. Resim ve doc/pdf yuklemek için. Bu arkadaşlar dosya uzantisini değiştirip shell dosyasini sisteme yukluyorlar. Mesela shell. Php. Jpg yapiyorlar. Ben de dosya yukleme scriptinde mime_content_type ile fake dosyalari kontrol ettiriyorum artik. Uzanti jpg olsa bile yuklenen dosyanin mimesi jpg olmuyor yani mime_content_type ile gerçek kontrolu yapabiliyorsun. sql injection için ise, sadece giriş sayfasinda session yapilandirmasi oluyor. Diğer tum sayfalarda sadece session kontrolu var. Yani giriş sayfasinda sql injection yapamazlarda diğer sayfalara erişemezler. Bunun için ise "select ...... Where username=$username" yerine tum kullanicilarin listesini alip for dongusuyle "if user["username"] == $username gibi bir kontrolle giriş yaptiriyorum artik. Umarim başka sorun çikmaz.
session icinde önlem almak gerekirmi
tam bilmiyorumda
almak gerekirse nasil bir önlem gerekir
ben de çok iyi bilmiyorum ya. İlk yayinladiğim siteydi ve birkaç gun sonrasinda hack yedim. Şaştim kaldim afalladim. stackoverflowda session hacklenmez diyor. Hacklenmesi için hosting şirketinin serveri hacklenmeli diyor
İnjection değil xss açığı var. Formdan aldığın verileri basarken htmlspecialchars kullanabilirsiniz
yok dostum bu direkt xss değil. Çünkü admin paneline girmeden önce sadece iletişim sayfasında input var. O sayfada da bi sorun yoktu. Admin paneline injection ile girilmiş sonrasında xss yapmışlar işte.
Shell hâlâ hostingte duruyorsa önce onu temizle bulamıyorsan dosyaları bilgisayarına çek antivirüs ile tarat.
Hangi sayfalarda yonlenme oluyorsa o sayfalara sifreleyip kod basilmistir. Anlam veremedigin sacma sapan biseyler varsa sil.