[Owasp-turkey] Cross-Site Request Foreign

Yusuf CAKIR Yusuf.CAKIR at naksan.com
Tue Sep 11 15:40:11 EDT 2007


Bunun Türkçe'si şudur :
 
Web user'ından alınan veriler GET ve POST gibi iki değişik method ile alınabilirler.
Get metodunda veriler URL'ye eklenerek işlem sayfasına gönderilirken, POST metodu ile alınan veriler sistem değişkenleri vasıtası ile gönderilir.
Bu nedenle GET metodu ile alınan verileri , URL'de bulunan değişken isimleri ve bunların değerlerinden oluşmuş olmasından anlayabiliriz.
 
Verinin işlendiği script dili sayfasında verilerin işlenmek için alınış metodu önemlidir.
Eğer web formunun veri gönderme yöntemini GET olarak ayarladı isek bunu (örneğin ASP'de) request.querystring("değişken_adı") ile,
Eğer web formunun veri gönderme yöntemini POST olarak ayarladı isek bunu (örneğin ASP'de) request.form("değişken_adı") şeklinde almalıyız.
 
Diğer taraftan örneğin ASP'de verilerin hangi yöntemle gönderilmiş olduğu ile uğraşmayalım diye bir de yalın olarak kullanılan request("değişken_adı") şeklinde bir komut dizilimi mevcuttur.
Bu şekilde kullanılan bir komutun sonucunda formumuzun veri aktarma metodu ne olursa olsun veriler alınabilecektir. Dolayısı ile bizim POST'muydu, GET'miydi diye düşünmemize gerek kalmaz.
 
Ancak böyle bir kullanımın dezavantajı ise, hem GET hem de POST yöntemini almaya izin veren bir programa sahip olmamızdır.
Aşağıdaki örnekte olduğu gibi kullanıcı tarafından manipüle edilmiş verileri bile kolayca alabilecek bir programmız olmuştur.
 
Dolayısı ile kötü niyetli birinin artık bizim sitemizdeki form ile uğraşmasına bile gerek kalmamıştır.
 
HTML üzerindeki image nesneleri SRC parametresi olarak verilen kaynağın "gerçekten" bir resim olup olmadığına bakmazlar.
Çünkü SRC parametresine verilen kaynak, zaten tarayıcımıza ulaştığında resim ise görünecek, resim değilse görünmeyecektir.
 
İşte image nesnesinin bu özelliğinden de faydalanarak bir şahıs, bizim verileri işlediğimiz sayfayı hedef göstererek ve bu sayfaya QueryString parametreleri geçerek sitemizin işleyişini önemli ölçüde yavaşlatabilir hatta durdurabilir.

________________________________

From: owasp-turkey-bounces at lists.owasp.org [mailto:owasp-turkey-bounces at lists.owasp.org] On Behalf Of TunerX
Sent: Tuesday, September 11, 2007 5:49 PM
To: owasp-turkey at lists.owasp.org
Subject: [Owasp-turkey] Cross-Site Request Foreign



Gönderdiğim boş mesaj için özür dilerim.

CSRF hakkında araştırma yaparken 

"<form action="buy.php" method="POST">

<p>Symbol: <input type="text" name="symbol" /></p>

<p>Shares: <input type="text" name="shares" /></p>

<p><input type="submit" value="Buy" /></p>"

</form>

"<?php

 

session_start();

 

if (isset($_REQUEST['symbol'] &&

    isset($_REQUEST['shares']))

{

    buy_stocks($_REQUEST['symbol'],

               $_REQUEST['shares']);

}

 

?>"

"(- <img src="http://example.org/buy.php?symbol=SCOX&shares=1000" />" Bu üçüncü kod exploit olarak çalışıyor anladığım kadarıyla.

Bir türlü anlayamadım ilk iki kod grubunda ne var ki bir açığa sebep oluyor sadece post metodunun kullanılması mı yoksa gönderen kullanıcın bir token yardımıyla gitmemesi mi acaba ? Ve ben nasıl bir sayfada CSRF olduğunu anlaya bilirim. 

Kodlar buradan Alıntıdır <http://shiflett.org/articles/cross-site-request-forgeries> .

-------------- sonraki bölüm --------------
Bir HTML eklentisi temizlendi...
URL: https://lists.owasp.org/pipermail/owasp-turkey/attachments/20070911/b4ccff2c/attachment.html 


More information about the Owasp-turkey mailing list