PHP ile güvenlik açıkları

23 Şub 2019
134
39
NULL
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.

g9cwgmg.png


Şimdi isterseniz başlayalım
Html Taglarından Kurtulma :
Örnek Açık:

r9kuixx.png

biiw0b4.png

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


q7dtych.png

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.


g9cwgmg.png


GET SİLİD Kurtulma:
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?
2xnfilb.png


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

g9cwgmg.png



Bonus Daha önceden anlatmış olduğum alt klasörlere erişim engeli adlı konumda bahsetmediğim ve engellemek için kullanılan bir komut daha mevcut onu da sizlerle paylaşmak istiyorum
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
 ?>
aq3u4ls.png




 
Son düzenleme:
11 Tem 2021
168
51
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.

g9cwgmg.png


Şimdi isterseniz başlayalım
Html Taglarından Kurtulma :
Örnek Açık:

r9kuixx.png

biiw0b4.png

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


q7dtych.png

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.


g9cwgmg.png


GET SİLİD Kurtulma:
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?
2xnfilb.png


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

g9cwgmg.png


Bonus Daha önceden anlatmış olduğum alt klasörlere erişim engeli adlı konumda bahsetmediğim ve engellemek için kullanılan bir komut daha mevcut onu da sizlerle paylaşmak istiyorum
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
 ?>
aq3u4ls.png
eline sağlık.
 

JohnWick51

Uzman üye
20 Mar 2022
1,867
770
28
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.

g9cwgmg.png


Şimdi isterseniz başlayalım
Html Taglarından Kurtulma :
Örnek Açık:

r9kuixx.png

biiw0b4.png

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


q7dtych.png

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.


g9cwgmg.png


GET SİLİD Kurtulma:
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?
2xnfilb.png


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

g9cwgmg.png


Bonus Daha önceden anlatmış olduğum alt klasörlere erişim engeli adlı konumda bahsetmediğim ve engellemek için kullanılan bir komut daha mevcut onu da sizlerle paylaşmak istiyorum
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
 ?>
aq3u4ls.png
Ellerine saglik
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.