PHP ile güvenlik açıkları
Merhabalar dostlar daha önceden PHP de alt klasör engellemeyi anlatmıştım eğer okumadıysanız Tıklayarak Okuyabilirsiniz bugün ise sizlere güvenlik konusunda en önemli kısım olan PHP de form güvenliklerine değineceğim.
Form Güvenliği nedir ?
Form güvenliği web sitenizde kullanıcıdan bilgi aldığımız yerdir
Açıklar Nelerdir ?
Kullanıcıdan bilgi alırken Bilgisayar Korsanları o kısma özel kodlanmış bilgi çekme veya içeriye bilgi sızdırma gibi işlemler kolaylıkla yapabilir, veritabanında bulunan tüm bilgileri kolaylıkla çekip görebilir.
Şimdi isterseniz başlayalım
Html Taglarından Kurtulma :Merhabalar dostlar daha önceden PHP de alt klasör engellemeyi anlatmıştım eğer okumadıysanız Tıklayarak Okuyabilirsiniz bugün ise sizlere güvenlik konusunda en önemli kısım olan PHP de form güvenliklerine değineceğim.
Form Güvenliği nedir ?
Form güvenliği web sitenizde kullanıcıdan bilgi aldığımız yerdir
Açıklar Nelerdir ?
Kullanıcıdan bilgi alırken Bilgisayar Korsanları o kısma özel kodlanmış bilgi çekme veya içeriye bilgi sızdırma gibi işlemler kolaylıkla yapabilir, veritabanında bulunan tüm bilgileri kolaylıkla çekip görebilir.
Şimdi isterseniz başlayalım
Örnek Açık:
Resimlerde Görüldüğü gibi saldırganlar tarafından çok kolay bir şekilde alt edilebilirsiniz bunun için yapmanız gereken işlem şu şekilde olmalıdır
PHP:
stript_tags(trim) //bu kod sayesinde artık saldırı tarafından komut almayacaksınız yollasalar bile arındırılmış şekilde düz metin halinde gelecektir ve boşlukları da karakter olarak algılamadığı için veritabanınızı yormayacaktır.
Silid Açığı Nedir ?
Dikkat: Bu açık PHP Yazılımının en büyük ve en önemli açığıdır çünkü örneğin admin panelinizde forum.php?=islemid=1 diye bir konunuz var bu konuyu ana bağlantı şöyle görüyor
www.siteadres.com/admin/forum.php?=islemid=1 bu konunuzun bağlantısıdır ve buna girdiğinizde o konuyu görüyorsunuz. Saldırgan yetkisi olmasa bile bunu şu şekilde basitçe silebilir
www.siteadres.com/admin/forum.php?=islemsil&id=1 bu sayede yetkisi olmasa bile sadece mantık yoluyla GET ile yapmış olduğunuz işlemi 7 8 deneme bulabilir.
Bu hatayı nasıl kapatırım?
Dikkat: Bu açık PHP Yazılımının en büyük ve en önemli açığıdır çünkü örneğin admin panelinizde forum.php?=islemid=1 diye bir konunuz var bu konuyu ana bağlantı şöyle görüyor
www.siteadres.com/admin/forum.php?=islemid=1 bu konunuzun bağlantısıdır ve buna girdiğinizde o konuyu görüyorsunuz. Saldırgan yetkisi olmasa bile bunu şu şekilde basitçe silebilir
www.siteadres.com/admin/forum.php?=islemsil&id=1 bu sayede yetkisi olmasa bile sadece mantık yoluyla GET ile yapmış olduğunuz işlemi 7 8 deneme bulabilir.
Bu hatayı nasıl kapatırım?
PHP:
<?php
case 'islemdelete':
if ($_SESSION['admin']) {
$id = $_GET['id'];
$sil = $db->prepare("DELETE FROM islem where id=:id");
$sil -> execute(array(':id => $id'));
}
break;
}
?>
//Switch Case
PHP:
<?php
echo !defined ("Girildi") ? die ("Erişim engellendi") : null;
?>
//Bu komutlar engellenmesini istediğiniz sayfaya
PHP:
<?php
define("girildi",true);
require_once "engellenendosya.php"
//Bu komutlar eğer include ettiyseniz izin vermek istediğinizde
?>
Son düzenleme: