Selamün Aleyküm
Dynamic Evaluation Vulnerability : Ağırlıklı olarak scripting dilleri ile geliştirilen uygulamalarda görülmektedir. Uygulamaların kullanıcılardan aldığı zararlı
kod parçacığı barındıran dosyaların uygulamaların içine dahil edilmesinden kaynaklanmaktadır.Dahil etme işlemleri ;
include(),
require(),
........ gibi vb. metotlar ile sağlanmaktadır.Bu tür metodların kullanımının en önemli sebebi uygulamaların içinde sıklıkla
ihtiyaç duyulan metotların geliştirme sürecinin modüler yapılmak istenmesinden kaynaklanmaktadır.Dolayısıyla bir defa yazılan
kod parçacığı ihtiyaç duyulan noktalarda include(),require(), vb. metotlar yardımı ile çağrılıp , kullanılabilir .
Bu yanlış bir yaklaşım türü değildir. Problem dahil etme aşamasında eğer kullanıcıdan alınan bir parametre kullanılıyor ise
bunun kontrol edilmemesinden kaynaklanmaktadır.Kullanıcıdan alınan parametre ile dahil edilen zararlı kod içeriğinin uzak
bir sunucudan kullanılmasına denir.
Örnek Bir Saldırı Gösterecek Olursak ;
İSTEK :
HTTP/1.0 200 OK
Content-Type: text/html
Server: Apache
GET /vulnerable.php HTTP/1.0
Cookie: TEMPLATE=../../../../../../../../../etc/passwd
CEVAP :
HTTP/1.0 200 OK
Content-Type: text/html
Server: Apache
root:fi3sED95ibqR6:0:1:System Operator:/:/bin/ksh
daemon:*:1:1::/tmp:
phpguru:f8fk3j1OIf31.:182:100:Developer:/home/users/phpguru/:/bin/csh
AÇIĞIN SEBEBİ :
ÖRNEK Vuln. içeren kod ,
<?php
$vulnerable = $_GET[’vulnerable’];
$vulnerable();
?>
Bu kodda da görüleceği gibi ’’vulnerable’’ sayfasının tanımlanmaması sonucunda açık oluşmaktadır.
ÖRNEK Fixlenmiş kod ,
<?php
function vulnerable()
{
$vulnerable = $_GET(’vulnerable’)
print $vulnerable ;
}
?>
Kodun açık olmasının sebebini bir önceki kodda görülmektedir. Bu yeni yazmış olduğumuz kod ise açıklı koddaki ’’vulnerable’’
sayfasının tanımlanması sonucu fixlenmiştir.
KonUYLA İLGİLİ DAHA FAZLA BİLGİ SAHİBİ OLABİLMENİZ İÇİN VİDEO...!
Hiç yorum yok: