<?xml version="1.0" encoding="utf-8"?><!-- generator="wordpress/2.3.3" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>
<channel>
	<title>Comments on: Web Sitelerindeki En Yaygın Güvenlik Açıkları</title>
	<link>http://www.huysuzadam.com/2007/10/08/web-sitelerindeki-en-yaygin-guvenlik-aciklari/</link>
	<description>Web teknolojileri hakkında aklımdakileri döktürdüğüm rahatlama alanım...</description>
	<pubDate>Thu, 22 May 2008 18:15:26 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.3</generator>
		<item>
		<title>By: M.Ozan Hazer</title>
		<link>http://www.huysuzadam.com/2007/10/08/web-sitelerindeki-en-yaygin-guvenlik-aciklari/#comment-174</link>
		<dc:creator>M.Ozan Hazer</dc:creator>
		<pubDate>Mon, 08 Oct 2007 10:41:29 +0000</pubDate>
		<guid>http://www.huysuzadam.com/2007/10/08/web-sitelerindeki-en-yaygin-guvenlik-aciklari/#comment-174</guid>
		<description>A ve B sayfaları aynı sitedeyse session işinizi görecektir. A sayfasında bir session değişkenine bir key atayın, sonra B'yi çağırırken o key'i de gönderin, B dosyasının içinden session değişkeni ile gönderilen key'i karşılaştırın.

A ve B ayrı sitelerdeyse işler biraz karışıyor. Ana mantık yine aynı, bir key göndereceksiniz, sonra onu kontrol edeceksiniz. Bu key'in kötü niyetli kişiler tarafından taklit edilememesi gerekli. Tek yönlü encryption algoritmalarından birini de devreye sokmanız lazım. 

İlk aklıma gelen klasik PKI yapısı: Bir tane herkesin görebileceği anahtar kelime (public key) ve bir tane de sadece sizin ulaşabileceğiniz bir özel anahtar kelime (private key) düşünün. 

Public key + private key bileşimini tek yönlü encryption'dan çıkan sonucu (hash) ve public key'i B sayfasına göndereceksiniz. Sonra B dosyasının içinde yine private + public key'i aynı algoritmadan geçirip çıkan sonucun gönderilen hash ile aynı olup olmadığını kontrol edeceksiniz.

Tek yönlü algoritma olarak md5 ya da sha1 kullanabilirsiniz.
Dikkat etmeniz gereken public key'in her seferinde farklı olması. 
Ayrıca public key ve private key ne kadar uzun olursa, kullanılan algoritma da ne kadar uzun olursa deneme yanılma ile bulunma ihtimali o kadar düşer. Mesela sha1 md5'ten daha güçlüdür.

Public ve private key'i yanyana koymak yerine atıyorum "private'ın 3. karakterinden sonra araya public key'i sıkıştır, ondan sonra algoritmayı uygula" gibi işleri karıştırıcı önlemlerle paranoyaklığın sınırlarını istediğiniz kadar zorlayabilirsiniz :)</description>
		<content:encoded><![CDATA[<p>A ve B sayfaları aynı sitedeyse session işinizi görecektir. A sayfasında bir session değişkenine bir key atayın, sonra B&#8217;yi çağırırken o key&#8217;i de gönderin, B dosyasının içinden session değişkeni ile gönderilen key&#8217;i karşılaştırın.</p>
<p>A ve B ayrı sitelerdeyse işler biraz karışıyor. Ana mantık yine aynı, bir key göndereceksiniz, sonra onu kontrol edeceksiniz. Bu key&#8217;in kötü niyetli kişiler tarafından taklit edilememesi gerekli. Tek yönlü encryption algoritmalarından birini de devreye sokmanız lazım. </p>
<p>İlk aklıma gelen klasik PKI yapısı: Bir tane herkesin görebileceği anahtar kelime (public key) ve bir tane de sadece sizin ulaşabileceğiniz bir özel anahtar kelime (private key) düşünün. </p>
<p>Public key + private key bileşimini tek yönlü encryption&#8217;dan çıkan sonucu (hash) ve public key&#8217;i B sayfasına göndereceksiniz. Sonra B dosyasının içinde yine private + public key&#8217;i aynı algoritmadan geçirip çıkan sonucun gönderilen hash ile aynı olup olmadığını kontrol edeceksiniz.</p>
<p>Tek yönlü algoritma olarak md5 ya da sha1 kullanabilirsiniz.<br />
Dikkat etmeniz gereken public key&#8217;in her seferinde farklı olması.<br />
Ayrıca public key ve private key ne kadar uzun olursa, kullanılan algoritma da ne kadar uzun olursa deneme yanılma ile bulunma ihtimali o kadar düşer. Mesela sha1 md5&#8242;ten daha güçlüdür.</p>
<p>Public ve private key&#8217;i yanyana koymak yerine atıyorum &#8220;private&#8217;ın 3. karakterinden sonra araya public key&#8217;i sıkıştır, ondan sonra algoritmayı uygula&#8221; gibi işleri karıştırıcı önlemlerle paranoyaklığın sınırlarını istediğiniz kadar zorlayabilirsiniz :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ahmet</title>
		<link>http://www.huysuzadam.com/2007/10/08/web-sitelerindeki-en-yaygin-guvenlik-aciklari/#comment-173</link>
		<dc:creator>ahmet</dc:creator>
		<pubDate>Mon, 08 Oct 2007 09:43:53 +0000</pubDate>
		<guid>http://www.huysuzadam.com/2007/10/08/web-sitelerindeki-en-yaygin-guvenlik-aciklari/#comment-173</guid>
		<description>HTTP_REFERRER güvenli değil madem bununla ilgili bir sorum olacak:

A sayfasını kullanarak B sayfasından veri çekiyorum. Fakat B sayfasına yalnızca A sayfasının ulaşabilmesini istiyorum. Başka hiçbir kimsenin veya dış uygulamanın B sayfasına ulaşmasını istemiyorum. HTTP_REFERRER kontrolü dışında bunu nasıl yapabiliriz?</description>
		<content:encoded><![CDATA[<p>HTTP_REFERRER güvenli değil madem bununla ilgili bir sorum olacak:</p>
<p>A sayfasını kullanarak B sayfasından veri çekiyorum. Fakat B sayfasına yalnızca A sayfasının ulaşabilmesini istiyorum. Başka hiçbir kimsenin veya dış uygulamanın B sayfasına ulaşmasını istemiyorum. HTTP_REFERRER kontrolü dışında bunu nasıl yapabiliriz?</p>
]]></content:encoded>
	</item>
</channel>
</rss>
