<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Popüler İnternet Kültürü</title>
	<atom:link href="http://fentanyl.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://fentanyl.wordpress.com</link>
	<description>Web Güvenliği, Kişisel Güvenlik, Framework, Exploits, Penetration, Hacking, Serhat Dündar, FenTanyL</description>
	<lastBuildDate>Sun, 15 Nov 2009 19:56:55 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>tr</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='fentanyl.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/ff2f3ff1eca13cb626b51425f831beb5?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Popüler İnternet Kültürü</title>
		<link>http://fentanyl.wordpress.com</link>
	</image>
			<item>
		<title>C# Günleri – Gün 3</title>
		<link>http://fentanyl.wordpress.com/2009/11/15/c-gunleri-%e2%80%93-gun-3/</link>
		<comments>http://fentanyl.wordpress.com/2009/11/15/c-gunleri-%e2%80%93-gun-3/#comments</comments>
		<pubDate>Sun, 15 Nov 2009 19:56:55 +0000</pubDate>
		<dc:creator>fentanyl</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[c# öğrenmek]]></category>
		<category><![CDATA[c# başlangıç]]></category>
		<category><![CDATA[c# dersleri]]></category>
		<category><![CDATA[C# Günleri]]></category>
		<category><![CDATA[c# metodlar]]></category>
		<category><![CDATA[c# namespace]]></category>
		<category><![CDATA[türkçe c#]]></category>
		<category><![CDATA[Visual C# 2008]]></category>

		<guid isPermaLink="false">http://fentanyl.wordpress.com/?p=2403</guid>
		<description><![CDATA[Visual C# 2008
 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Proje1
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine(&#8220;msdundar&#8221;);
Console.Write(&#8220;To continue press any key&#8221;);
Console.ReadKey();
}
}
}
 
F5 veya Start Debugging ile derletip sonucu konsoldan görebiliriz.
Şimdi  öyle  bir  ayarlama  yapacağım  ki  bu uygulama çalıştırıldığı zaman ekrana bir pencerenin gelmesini sağlayacağım.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Proje1
{
class Program
{
static void Main(string[] args)
{
System.Windows.Forms.Form Form1;
Form1 = new System.Windows.Forms.Form();
Form1.Text = &#8220;MSDundar&#8221;;
System.Windows.Forms.Application.Run(Form1);
}
}
}
Bu [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fentanyl.wordpress.com&blog=961999&post=2403&subd=fentanyl&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><strong>Visual C# 2008</strong></p>
<p><strong> </strong></p>
<p>using System;</p>
<p>using System.Collections.Generic;</p>
<p>using System.Linq;</p>
<p>using System.Text;</p>
<p>namespace Proje1</p>
<p>{</p>
<p>class Program</p>
<p>{</p>
<p>static void Main(string[] args)</p>
<p>{</p>
<p>Console.WriteLine(&#8220;msdundar&#8221;);</p>
<p>Console.Write(&#8220;To continue press any key&#8221;);</p>
<p>Console.ReadKey();</p>
<p>}</p>
<p>}</p>
<p>}</p>
<p><strong> </strong></p>
<p>F5 veya Start Debugging ile derletip sonucu konsoldan görebiliriz.</p>
<p>Şimdi  öyle  bir  ayarlama  yapacağım  ki  bu uygulama çalıştırıldığı zaman ekrana bir pencerenin gelmesini sağlayacağım.</p>
<p>using System;</p>
<p>using System.Collections.Generic;</p>
<p>using System.Linq;</p>
<p>using System.Text;</p>
<p>namespace Proje1</p>
<p>{</p>
<p>class Program</p>
<p>{</p>
<p>static void Main(string[] args)</p>
<p>{</p>
<p>System.Windows.Forms.Form Form1;</p>
<p>Form1 = new System.Windows.Forms.Form();</p>
<p>Form1.Text = &#8220;MSDundar&#8221;;</p>
<p>System.Windows.Forms.Application.Run(Form1);</p>
<p>}</p>
<p>}</p>
<p>}</p>
<p>Bu kodu dikkatlice  incelerseniz using deyimiyle System.Windows.Forms adlı  namespace’deki  Class’lardan  yararlanılmak  istendiği  belirtilmiş.  Aynı satırı sizler yazmaya kalkışırsanız hata meydana gelir. Çünkü bu Namespace .NET  Framework  ile  gelen  System.Windows.Forms.dll  adlı  DLL dosyasında  yani  referansta  yer  almaktadır.  .NET  Framework’e  ait  klasöre baktığınızda bu dosyayı görebilirsiniz.</p>
<p>Konsol  uygulamaları  dahilinde  ekrana  pencere  getirmek  için  bu  DLL dosyasının konsol uygulamasına dahil edilmesi gerekiyor. Başka bir deyişle Express Edition’ın bu referans hakkında bilgilendirilmesi gerekir. Bunun  için Express Edition penceresi içinde yer alan Solution Explorer penceresinden yararlanıp  Add  Reference  diyalog  kutusunu  ekrana  getirip System.Windows.Forms.dll referansını uygulamaya dahil etmelisiniz.</p>
<p>Her  ne  kadar  burada  referansın uygulamaya  dahil  edildiğinden  söz  edilse  bile  gerçek  tam  böyle  değildir. Yapılan,  Express  Edition’ın  dolayısıyla  C#  derleyicisinin  bu  referanstan yararlanılmak istendiği konusunda haberdar edilmesinden ibarettir.</p>
<p>Yukarıda  verilen  kodun  üzerinde  biraz  duralım.  Main() metoduna  yazdığım  bu  satırların  ilkinde  “Form1”  adında  ve System.Windows.Forms  adlı  Namespace’teki  Form  sınıfı  tipinde  bir değişken  tanımlanmaktadır. Devamında  new  anahtar  kelimesi  ile  Form sınıfının  örneğini  alıp (yani  nesne  hazırlayıp)  referansını  Form1  adını verdiğim değişkene aktardım. En son olarak bu Form nesnesini Application sınıfının Run() metoduna parametre olarak verdim. Dikkat ederseniz burada tanımladığım  değişkene  Form1  adını  verdim.</p>
Posted in C# Tagged: c#, c# öğrenmek, c# başlangıç, c# dersleri, C# Günleri, c# metodlar, c# namespace, türkçe c#, Visual C# 2008 <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fentanyl.wordpress.com/2403/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fentanyl.wordpress.com/2403/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fentanyl.wordpress.com/2403/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fentanyl.wordpress.com/2403/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fentanyl.wordpress.com/2403/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fentanyl.wordpress.com/2403/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fentanyl.wordpress.com/2403/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fentanyl.wordpress.com/2403/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fentanyl.wordpress.com/2403/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fentanyl.wordpress.com/2403/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fentanyl.wordpress.com&blog=961999&post=2403&subd=fentanyl&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://fentanyl.wordpress.com/2009/11/15/c-gunleri-%e2%80%93-gun-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d956096b59bca9150215c25b234811f0?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fentanyl</media:title>
		</media:content>
	</item>
		<item>
		<title>C# Günleri &#8211; Gün 1&amp;2</title>
		<link>http://fentanyl.wordpress.com/2009/11/14/c-gunleri-gun-12/</link>
		<comments>http://fentanyl.wordpress.com/2009/11/14/c-gunleri-gun-12/#comments</comments>
		<pubDate>Sat, 14 Nov 2009 02:29:07 +0000</pubDate>
		<dc:creator>fentanyl</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[c# öğrenmek]]></category>
		<category><![CDATA[c# başlangıç]]></category>
		<category><![CDATA[c# dersleri]]></category>
		<category><![CDATA[c# metodlar]]></category>
		<category><![CDATA[c# namespace]]></category>
		<category><![CDATA[türkçe c#]]></category>

		<guid isPermaLink="false">http://fentanyl.wordpress.com/?p=2398</guid>
		<description><![CDATA[En az satır sayısına sahip, en basit C# kodu :
class Deneme
{
static void Main(string[] args)
{
}
}
Main() metoduna program içinde mutlaka yer vermeliyiz.
En az satıra sahip bu C# programındaki Main() metodunun hem static hem de  void  olduğunu  işaret  ettim.  C#  programlarının  başlangıç  noktası  olan Main() metodu(C  programlama  dilinde Main’den  fonksiyon  diye  söz  edilir) statik olmak zorundadır ama void [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fentanyl.wordpress.com&blog=961999&post=2398&subd=fentanyl&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><strong>En az satır sayısına sahip, en basit C# kodu :</strong></p>
<p>class Deneme</p>
<p>{</p>
<p>static void Main(string[] args)</p>
<p>{</p>
<p>}</p>
<p>}</p>
<p>Main() metoduna program içinde mutlaka yer vermeliyiz.</p>
<p>En az satıra sahip bu C# programındaki Main() metodunun hem static hem de  void  olduğunu  işaret  ettim.  C#  programlarının  başlangıç  noktası  olan Main() metodu(C  programlama  dilinde Main’den  fonksiyon  diye  söz  edilir) statik olmak zorundadır ama void olması zorunlu değildir. Metot geriye bir değer  göndermeyecekse  metot  adından  önce  void  yazılır.</p>
<p>Main() metodunun adından sonra parantezlerin arasına  “string[]  args”  yazdım.  Bu parantezin  içine  yazdıklarım  gerçekte dizi değişken  tanımlamaktan başka bir  şey değildir. Main  metodu  içinde tanımlanan  dizi  değişkene  &#8220;args&#8221;  adını  vermek  C#  programcılarının  bir alışkanlığıdır.</p>
<p>Şimdi  yukarıda  verdiğim  C#  programının  başlangıç  noktası  olan  Main() metodu  içinde  bir  değişkene  yer  vereceğim.  Bu  değişkeni  Main() metodu içinde tanımladım. Değişkeni Main() metodu tarafından sınırlanan kod bloğu yerine Class bloğu içinde tanımlayabilirdim.</p>
<p>class Deneme</p>
<p>{</p>
<p>static void Main(string[] args)</p>
<p>{</p>
<p>int yil;</p>
<p>}</p>
<p>}</p>
<p>Gördüğünüz  gibi  C#  programlarında  değişken  tanımlanırken  önce değişkenin  tipi sonra adı yazılmaktadır. Buradaki  int bu değişkenin  integer yani  tamsayı  tipindeki  bilgileri  saklayabileceğini  işaret  etmektedir.</p>
<p>Main() metodu  içinde yaşayabilecek  “yil” adında ve  Integer tipindeki bilgilerin aktarılabileceği bir değişken tanımlanmıştır. Bu değişkeni Main() metodu  içinde  tanımladığım için yalnızca Main() metodunun sınırları içinde  yaşar.  Fark  etmiş  olabileceğiniz  gibi  C#  programlarında  Class  ve metot başlatılan satırlar hariç her satırın sonuna “;” konulmaktadır.</p>
<p>Şimdi yukarıda verdiğim basit C# kod dosyası içinde Mesaj() adını verdiğim</p>
<p>metodu  Main()  metodunun  içinden  işleteceğim.  Hazırladığım  metot  aynı</p>
<p>sınıfın içinde olduğu için herhangi bir hazırlık yapmadan direk adıyla çağırıp</p>
<p>işletmek mümkündür.</p>
<p>class Deneme</p>
<p>{</p>
<p>static void Main(string[] args)</p>
<p>{</p>
<p>int yil;</p>
<p>Mesaj();</p>
<p>}</p>
<p>static void Mesaj()</p>
<p>{</p>
<p>}</p>
<p>}</p>
<p>Bu  programı  aşağıdaki  gibi  düzenlemiş  olsaydım  değişen  bir  şey  olmazdı.</p>
<p>Çünkü  C#  derleyicisi Main() metodunu  bulup  programın  başlangıç  noktası</p>
<p>yapar. Bu kısa örnekte “yil” adını verdiğim değişkeni hiç kullanmadığım için</p>
<p>C# derleyicisi derleme sırasında uyarı mesajı verir.</p>
<p>class Deneme</p>
<p>{</p>
<p>static void Mesaj()</p>
<p>{</p>
<p>}</p>
<p>static void Main(string[] args)</p>
<p>{</p>
<p>int yil;</p>
<p>Mesaj();</p>
<p>System.Console.WriteLine(&#8220;MSDundar&#8221;);</p>
<p>}</p>
<p>}</p>
<p>Konsolda  yani  DOS  penceresinde çalışan  C#  projelerinde  ekrana  bilgi  yazma  işlemleri  .NET  Framework  ile gelen Console sınıfında tanımlı olan Write() veya WriteLine() metotları ile yapılmaktadır.</p>
<p>Bu  şekilde  düzenlenen  C#  uygulaması  DOS  penceresinde  derlenip çalıştırıldığında  ekrana  “MSDundar”  yazdırıldıktan  sonra  programın çalışması sona erer. Çünkü C# ile geliştirilmiş programların çalışması Main() metodunun sonuna gelindiğinde biter.</p>
<p>Mesaj()  metoduna  yazdığım  satır  hakkında  biraz  konuşmak  gerekirse; “System.Console.WriteLine(&#8220;MSDundar &#8220;);”  satırındaki  System  bir namespace’tir.</p>
<p>Kısaca  anlatmak  gerekirse  Class’lar  Namespace’lerin  içine yerleştirilmektedir.  System  adlı  Namespace  .NET  Framework  ile  gelen  en önemli  Namespace’tir  ve  çok  sayıda  Class’ı  barındırmaktadır.  DOS penceresine veya konsola bilgi yazmak üzere hazırladığım satırdaki Console bir Class’tır. Çok sayıda metoda sahip olan bu Class’ın sayesinde konsol yani DOS  penceresi  ile  ilgili  istenen  işlemler  yapılabilmektedir.  Bu  satırdaki WriteLine() ise Console sınıfının bir metodudur.</p>
<p>Hazırlayıp  derlediğim  C#  programı  ekrana  bu  bilgiyi  yazdıktan  sonra  yani Main()  metodunun  sonuna  gelindiğinde  çalışması  otomatik  olarak  sona erer. Şimdi  bu  örmekte  öyle  bir  ayarlama  yapalım  ki  programın  veya  exe dosyanın  çalışması  Enter  tuşuna  basıncaya  kadar  devam  etsin.  Programın çalışmasının Enter tuşuna basıncaya kadar devam etmesini sağlamak üzere Deneme adını verdiğim Class&#8217;ın Main() metoduna bazı eklemeler yaptım.</p>
<p><span id="more-2398"></span></p>
<p>class Deneme</p>
<p>{</p>
<p>static void Main(string[] args)</p>
<p>{</p>
<p>int yil;</p>
<p>Mesaj();</p>
<p>System.Console.WriteLine();</p>
<p>System.Console.Write(&#8220;Cıkmak için entera basın&#8221;);</p>
<p>System.Console.Read();</p>
<p>}</p>
<p>static void Mesaj()</p>
<p>{</p>
<p>System.Console.WriteLine(&#8220;MSDundar&#8221;);</p>
<p>}</p>
<p>}</p>
<p>Gördüğünüz  gibi  Console  sınıfının  WriteLine()  metodunu  Mesaj()  adını verdiğim  metodun  içinden  başka  bir  deyişle  Main()  metodunun  içinde kullandım.  Bu  örnekte  Main() metodu  içinde  önce  Mesaj()  adını  verdiğim metot  çağrıldığı  için  ekrana  önce  “MSDundar”  yazılır.  Mesaj() metodunun  çağrıldığı  satırdan  sonra  yine  WriteLine()  metodu kullanılmaktadır. Bu kez WriteLine() metoduna ekrana yazılmak üzere bilgi parametre  olarak  verilmediği  için  ekranın  o  satırı  boş  kalır.  Bir  sonraki satırda ise WriteLine() yerine Write() metodunu kullandım.  WriteLine() metodu  kendisine  parametre  olarak  verilen  bilgiyi  ekrana  yani DOS  penceresine  yazdıktan  sonra  imleci  bir  sonraki  satırın  başına  alır. Write() metodu  ise WriteLine() metodundan  farklı olarak  imleci bir  sonraki satırın  başına  almaz.  Burada  programın  çalışmasının  kendiliğinden  sona</p>
<p>ermesini engelleyen metot ise Read().</p>
<p>Console  sınıfının  Read()  metodu  gerçekte  kullanıcının  gireceği  bilgileri programa  veya  bir  değişkene  aktarılırken  işlevsel  olmaktadır.  Bu  örnekte kullanıcının  bilgi  girmesini  istemediğim  için  Console  sınıfının  Read() metodundan  önce  herhangi  bir  değişken  adı  yazmadım.  Diğer  yandan yukarıda  verdiğim  örnekte  asıl  anlatmak  istediğim  şuydu:  C#  programları Class’lar  şeklinde  hazırlanmakta  ve  Class’larda  işlem  yapan  kod  blokları</p>
<p>metot şeklinde düzenlenmektedir.</p>
<p>Bu  düşünce  ile  hazırladığım  kısacık  örnekte  Main()  metodundan  başka Mesaj() adında bir metot hazırlayıp Main() metodu dahilinde işlettim.</p>
<p>Şimdi bu  örnekte  değişiklik  yapıp  Mesaj()  adını  verdiğim  metodu  silip  çalışma</p>
<p>anında “yil” adını verdiğim değişkene bilgi aktarmaya çalışacağım.</p>
<p>class Deneme</p>
<p>{</p>
<p>static void Main(string[] args)</p>
<p>{</p>
<p>int yil;</p>
<p>System.Console.Write(&#8220;Hangi Yildayiz?&#8221;);</p>
<p>yil = System.Console.Read();</p>
<p>}</p>
<p>}</p>
<p>Bu  şekilde  değiştirdiğim  C#  programında  önce  Console  sınıfının  Write() metodu  ile  kullanıcıya  mesaj  verdikten  sonra  bir  sonraki  satırda  Read() metodu sayesinde kullanıcıdan  istenen bilgiyi “yil” adını verdiğim değişkene aktardım.  Aşağıda  verdiğim  ekran  görüntüsünü  bu  kısa  programı  derleyip çalıştırdıktan sonra aldım.</p>
<p>Ekrana mesaj yazarken Write() yerine WriteLine() metodunu kullansaydım imleç  bilgi  girişi  için  bir  sonraki  satırda  beklerdi. Şimdi  bu C#  programına ekleme yapıp kullanıcıdan  istenip  “yıl” adını verdiğim değişkenine aktarılan bilgiyi WriteLine() metodu ile tekrar ekrana yazacağım.</p>
<p>class Deneme</p>
<p>{</p>
<p>static void Main(string[] args)</p>
<p>{</p>
<p>int yil;</p>
<p>System.Console.Write(&#8220;Hangi Yildayiz?&#8221;);</p>
<p>yil = System.Console.Read();</p>
<p>System.Console.WriteLine();</p>
<p>System.Console.Write(&#8220;Girdiginiz Yil:&#8221;);</p>
<p>System.Console.Write(yil);</p>
<p>}</p>
<p>}</p>
<p>Yukarıda verilen koda dikkat ederseniz konsoldan bilgi okuma işlemi Read() metodu  ile  yapılmaktadır.  Read()  metodu  konsoldan  okuma  yaparken girilen  bilginin  ilk  karakterinin  ASCII  kodunu  geriye  göndermektedir.  Bu program  derlenip  çalıştırılıp  “Hangi  Yıldayız  :”  sorusuna  “A”  ile  cevap verilirse ekrana 65 yazılır. Çünkü “A” hafinin ASCII kodu 65’dir.</p>
<p>Console  sınıfının ReadLine() metodu  ise  farklı bir  şekilde  çalışmaktadır ve konsoldan  yani DOS  penceresinden okuduğu bilginin String  tipte olduğunu varsaymaktadır.  Bu  nedenle  yukarıda  verdiğimde  örnekte  değişiklik  yapıp okuma işlemini Read() yerine ReadLine() metodu ile yapmaya çalıştım.</p>
<p>class Deneme</p>
<p>{</p>
<p>static void Main(string[] args)</p>
<p>{</p>
<p>string yil;</p>
<p>System.Console.Write(&#8220;Hangi Yildayiz?&#8221;);</p>
<p>yil = System.Console.ReadLine();</p>
<p>System.Console.WriteLine();</p>
<p>System.Console.Write(&#8220;Girdigin Yil:&#8221;);</p>
<p>System.Console.Write(yil);</p>
<p>}</p>
<p>}</p>
<p>Şimdi bu örnekte değişiklik yapıp kullanıcıdan 2 sayısal bilgi  isteyip bunları birbirleri  ile  çarptıktan  sonra  sonucu  ekrana  yani  konsola  yazacağım.  Bu amaçla  önce  2  string  değişken  tanımlayıp  Console  sınıfının  ReadLine() metodu ile okunan bilgileri bu değişkenlere aktardım.</p>
<p>class Deneme</p>
<p>{</p>
<p>static void Main(string[] args)</p>
<p>{</p>
<p>string rakam1;</p>
<p>string rakam2;</p>
<p>System.Console.Write(&#8220;İlk sayıyı girin :&#8221;);</p>
<p>rakam1 = System.Console.ReadLine();</p>
<p>System.Console.Write(&#8220;İkinci sayıyı girin :&#8221;);</p>
<p>rakam2 = System.Console.ReadLine();</p>
<p>}</p>
<p>}</p>
<p>Bu program bu hali ile kaydedilip çalıştırılırsa konsoldan girilen bilgiler string değişkenlere  aktarılır.  Bu  örnekteki  amacımız  kullanıcının  sayısal  bilgi girmesini  ve  bu  sayıları  birbiri  ile  çarpıp  ekrana  yazmak  olduğu  için matematiksel  işlem  öncesi  String  değişkenlerin  içeriğini  int  tipindeki değişkenlere aktarmak gerekir. Bu amaçla bu C# programına ekleme yapıp int tipinde 2 değişken tanımladım. Ardından string değişkenlerin içeriklerini dönüştürüp int tipindeki bu değişkenlere aktardım.</p>
<p>class Deneme</p>
<p>{</p>
<p>static void Main(string[] args)</p>
<p>{</p>
<p>string rakam1;</p>
<p>string rakam2;</p>
<p>int sayi1;</p>
<p>int sayi2;</p>
<p>System.Console.Write(&#8220;İlk sayıyı girin :&#8221;);</p>
<p>rakam1 = System.Console.ReadLine();</p>
<p>System.Console.Write(&#8220;İkinci sayıyı girin :&#8221;);</p>
<p>rakam2 = System.Console.ReadLine();</p>
<p>sayi1 = System.Int16.Parse(rakam1);</p>
<p>sayi2 = System.Int16.Parse(rakam2);</p>
<p>}</p>
<p>}</p>
<p>Hemen  bir  hatırlatmada  bulunmak  isterim:Her  ne  kadar  bu  örnekte kullanıcıya &#8220;sayı girin&#8221; mesajı verilmiş olunsa bile kullanıcı konsoldan sayısal bilgi  yerine  karaktersel  bilgi  girerse  Parse()  metodu  dönüştürme yapamayacağı  için  hata  meydana  gelir.  Bu  tip  karşılaşılması  muhtemel hataların önüne geçmek  için hata kontrol blokları hazırlanabilir. (try-catch)</p>
<p>class Deneme</p>
<p>{</p>
<p>static void Main(string[] args)</p>
<p>{</p>
<p>string rakam1;</p>
<p>string rakam2;</p>
<p>int sayi1;</p>
<p>int sayi2;</p>
<p>int carpim;</p>
<p>System.Console.Write(&#8220;İlk sayıyı girin :&#8221;);</p>
<p>rakam1 = System.Console.ReadLine();</p>
<p>System.Console.Write(&#8220;İkinci sayıyı girin :&#8221;);</p>
<p>rakam2 = System.Console.ReadLine();</p>
<p>sayi1 = System.Int16.Parse(rakam1);</p>
<p>sayi2 = System.Int16.Parse(rakam2);</p>
<p>carpim = sayi1 * sayi2;</p>
<p>System.Console.WriteLine(carpim);</p>
<p>}</p>
<p>}</p>
<p>Çarpma  işlemi  sonucu  bulunan  değeri  Console  sınıfının  WriteLine() metodu sayesinde direk konsola yazmak mümkün olmasına rağmen amacım bazı  konuları  anlatmak  olduğu  için  üçüncü  bir  string  değişken  tanımlayıp çarpma  işlemi  sonucu  bulunan  değeri  dönüştürüp  bu  değişkene  aktardım. Bu işlemi nasıl yaptığımı aşağıda görebilirsiniz.</p>
<p>class Deneme</p>
<p>{</p>
<p>static void Main(string[] args)</p>
<p>{</p>
<p>string rakam1, rakam2, sonuc_str;</p>
<p>int sayi1, sayi2, sonuc;</p>
<p>System.Console.Write(&#8220;İlk sayıyı girin :&#8221;);</p>
<p>rakam1 = System.Console.ReadLine();</p>
<p>System.Console.Write(&#8220;İkinci sayıyı girin :&#8221;);</p>
<p>rakam2 = System.Console.ReadLine();</p>
<p>sayi1 = System.Int16.Parse(rakam1);</p>
<p>sayi2 = System.Int16.Parse(rakam2);</p>
<p>sonuc = sayi1 * sayi2;</p>
<p>sonuc_str = System.Convert.ToString(sonuc);</p>
<p>System.Console.WriteLine(&#8220;Sayilarin çarpımı :&#8221; + sonuc_str);</p>
<p>System.Console.Write(&#8220;Devam etmek için bir tuşa basın&#8221;);</p>
<p>System.Console.ReadKey();</p>
<p>}</p>
<p>}</p>
<p>Bu  şekilde  hazırlanan  C#  programı  DOS  ortamında  derlenip  çalıştırılırsa belirtilen  bilgi  Write()  metodu  sayesinde  DOS  penceresine  yani  konsola yazılır.  Bir  sonraki  satırda  kullanılan  ReadLine() metodu  sayesinde  enter tuşuna  basılıncaya  kadar  program  çalışmaya  devam  eder.  Bu  örnekte ReadLine()  yerine  Read()  metodu  kullanılsaydı  değişen  bir  şey  olmazdı. Tabii  bu  3  satırlık  kodda  ReadLine()  yerine  ReadKey()  metodunu kullanırsanız uygulamanın  çalışmasını  sona erdirmek  için herhangi bir  tuşa</p>
<p>basılabilir.</p>
<p>.NET Framework adı verilen sınıf kitaplığı ile gelen sınıfların Namespace adı verilen  yapılarda  saklandığını  biliyorsunuz.  C#  programlarında  kullanmak istediğiniz  Class  hangi  Namespace’in  içinde  yer  alıyorsa  o  namespace’ı using  deyimi  ile  programa  dahil  etmelisiniz  veya  yukarıda  yapıldığı  gibi içerdiği  sınıfları  kullanmak  istediğiniz  namespace’in  adını  metodun  önüne her seferinde yazmalısınız.</p>
<p>DOS penceresi  ile  ilgili Console sınıfı System adlı Namespace’te yer aldığı için  Write()  metodundan  önce  bu  sınıfın  yer  aldığı  Namespace’in  adını yazdım.  Söz  konusu  Namespace’teki  sınıfları  programınızda  çok  kez kullanıyorsanız her seferinde Namespace’in adını bu şekilde yazmak yerine aşağıda  yapıldığı  gibi  ilgili  Namespace’i  using  deyimi  ile  koda  dâhil edebilirsiniz.  using  deyimi  ile  olmayan  bir  namespace’i  C#  programınıza dahil  etmek  istemeniz  yani  olmayan  bir  namespace&#8217;in  kaynaklarından yararlanmak istemeniz halinde derleme sırasında hata meydana gelir.</p>
<p>using System;</p>
<p>Class Deneme</p>
<p>{</p>
<p>public static void Main()</p>
<p>{</p>
<p>Console.Write(&#8220;Efes Pilsen Basketbol Takımı&#8221;);</p>
<p>Console.ReadLine();</p>
<p>}</p>
<p>}</p>
<p>C#  programlarınızda  .NET  Framework  ile  gelen  Namespace’lerdeki  hazır sınıfları kullanmanın ötesinde kendi hazırladığınız class’ları bir Namespace’in içine  koymanız  gerekir.  Yukarıda  bunu  yapmamış  olmamıza  rağmen herhangi  bir  hata  meydana  gelmedi.  Çünkü  programcı  yazdıklarını  bir Namespace’e  yerleştirmediği  zaman  C#  derleyicisi  kendiliğinden  bir Namespace hazırlamaktadır. Şimdi yukarıda verdiğim programdaki “Deneme” adını verdiğim Class’ı bir Namespace’e dahil edeceğim.</p>
<p>using System;</p>
<p>namespace Serhat</p>
<p>{</p>
<p>class Deneme</p>
<p>{</p>
<p>public static void Main()</p>
<p>{</p>
<p>Console.Write(&#8220;Efes Pilsen Basketbol Takımı&#8221;);</p>
<p>Console.ReadLine();</p>
<p>}</p>
<p>}</p>
<p>}</p>
<p><strong>Birden Fazla Main() Metodu </strong></p>
<p>Uygulamanızda  birden  fazla Class  varsa Main() metodunun  hangi Class’ta olduğunun  önemi  yoktur.  Çünkü  C#  derleyicisi  Main()  metodunun  hangi Class’ta olduğunu arayıp buluyor. Uygulamadaki birden  fazla  sınıfta Main() metodu  varsa  hangisinin  kullanılacağının  belirtilmesi  gerekir.  Bu  konuda bilgi vermek için aşağıdaki gibi bir C# programı hazırladım.</p>
<p>using System;</p>
<p>class Deneme1</p>
<p>{</p>
<p>public static void Main()</p>
<p>{</p>
<p>Console.Write(&#8220;Konsol ilk main ile başladı&#8221;);</p>
<p>Console.ReadLine();</p>
<p>}</p>
<p>}</p>
<p>class Deneme2</p>
<p>{</p>
<p>public static void Main()</p>
<p>{</p>
<p>Console.WriteLine(&#8220;Konsol ikinci main ile başladı&#8221;);</p>
<p>Console.ReadLine();</p>
<p>}</p>
<p>}</p>
<p>Bu örneğe dikkat ederseniz Main() metodunun parametresiz olduğunu veya parantezin  içine herhangi bir değişken adı yazmadığımı görürsünüz. Ayrıca bu örnekte Namespace hazırlamadığımı fark etmiş olmalısınız. Bu  şekilde  hazırlanan  C#  programı  bilinen  şekilde  derlendiğinde  hata meydana  gelir.  Derleme  satırında  hangi  sınıftaki  Main()  metodunun</p>
<p>kullanılmak  istendiği  belirtilmelidir.  Bu  program  aşağıdaki  gibi  derlenirse ygulama ilk sınıftaki Main() metodundan itibaren çalışmaya başlar :</p>
<p>csc dosyamiz.cs /main:Deneme1</p>
<p><strong>Write ve WriteLine Metotları </strong></p>
<p>Yukarıda  verdiğim  örneklerde  konsola  yalnızca  bir  bilgi  yazdım. Şimdi konunun  anlaşılmasına  katkı  olması  için  4  bilgiyi  yazacağım.</p>
<p>using System;</p>
<p>namespace Tokmak</p>
<p>{</p>
<p>class sinif_1</p>
<p>{</p>
<p>public static void Main()</p>
<p>{</p>
<p>Console.Write(&#8220;Fenerbahçe&#8221;);</p>
<p>Console.Write(&#8220;Galatasaray&#8221;);</p>
<p>Console.Write(&#8220;Beşiktaş&#8221;);</p>
<p>Console.Write(&#8220;Trabzonspor&#8221;);</p>
<p>Console.ReadLine();</p>
<p>}</p>
<p>}</p>
<p>}</p>
<p>Bu programda Write() metodu ile konsola 4 bilgi arka arkaya yazılmakta ve ReadLine()  metodu  ile  programın  işletimi  askıya  alınmaktadır.</p>
<p>Bu  bilgilerin  ayrı  satırlara  yazılmasını  sağlamak  için  Write()  yerine WriteLine()  metodunu  kullanabilirsiniz.  WriteLine()  metodu  kendisine parametre olarak  verilen bilgiyi belirtilen  ortama (burada  konsol)  yazdıktan sonra imleci bir sonraki satırın başına alır.</p>
<p>using System;</p>
<p>namespace Tokmak</p>
<p>{</p>
<p>class sinif_1</p>
<p>{</p>
<p>public static void Main()</p>
<p>{</p>
<p>Console.WriteLine(&#8220;Fenerbahçe&#8221;);</p>
<p>Console.WriteLine(&#8220;Galatasaray&#8221;);</p>
<p>Console.WriteLine(&#8220;Beşiktaş&#8221;);</p>
<p>Console.WriteLine(&#8220;Trabzonspor&#8221;);</p>
<p>Console.ReadLine();</p>
<p>}</p>
<p>}</p>
<p>}</p>
<p>Write()  metodu  ile  konsola  yazılan  metnin  sonuna  satır  başı karakterini(“\n”) ekleyerek aynı  sonucu alabilirsiniz.</p>
<p>using System;</p>
<p>class sinif_1</p>
<p>{</p>
<p>public static void Main()</p>
<p>{</p>
<p>Console.Write(&#8220;Fenerbahçe\n&#8221;);</p>
<p>Console.Write(&#8220;Galatasaray \n&#8221;);</p>
<p>Console.Write(&#8220;Beşiktaş \n&#8221;);</p>
<p>Console.Write(&#8220;Trabzonspor \n&#8221;);</p>
<p>Console.Read();</p>
<p>}</p>
<p>}</p>
Posted in C# Tagged: c#, c# öğrenmek, c# başlangıç, c# dersleri, c# metodlar, c# namespace, türkçe c# <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fentanyl.wordpress.com/2398/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fentanyl.wordpress.com/2398/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fentanyl.wordpress.com/2398/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fentanyl.wordpress.com/2398/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fentanyl.wordpress.com/2398/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fentanyl.wordpress.com/2398/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fentanyl.wordpress.com/2398/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fentanyl.wordpress.com/2398/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fentanyl.wordpress.com/2398/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fentanyl.wordpress.com/2398/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fentanyl.wordpress.com&blog=961999&post=2398&subd=fentanyl&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://fentanyl.wordpress.com/2009/11/14/c-gunleri-gun-12/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d956096b59bca9150215c25b234811f0?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fentanyl</media:title>
		</media:content>
	</item>
		<item>
		<title>İstemci Güvenliğini Sağlamak, Güncelleştirmeler, Windows Server Update Services (WSUS)</title>
		<link>http://fentanyl.wordpress.com/2009/11/02/istemci-guvenligini-saglamak-guncellestirmeler-windows-server-update-services-wsus/</link>
		<comments>http://fentanyl.wordpress.com/2009/11/02/istemci-guvenligini-saglamak-guncellestirmeler-windows-server-update-services-wsus/#comments</comments>
		<pubDate>Mon, 02 Nov 2009 01:44:29 +0000</pubDate>
		<dc:creator>fentanyl</dc:creator>
				<category><![CDATA[Server Güvenliği]]></category>
		<category><![CDATA[Güvenlik]]></category>
		<category><![CDATA[server updates]]></category>
		<category><![CDATA[siste güvenliği]]></category>
		<category><![CDATA[Sql Server]]></category>
		<category><![CDATA[Windows Server 2008]]></category>
		<category><![CDATA[WSUS]]></category>

		<guid isPermaLink="false">http://fentanyl.wordpress.com/?p=2374</guid>
		<description><![CDATA[Wsus, sistem yöneticilerinin ağlarında bulunan, Windows işletim sistemine sahip bilgisayarlardaki güncellemeleri (Office, Exchange, SQL, Windows) takip etmelerini sağlayan bir servis yazılımıdır.

Windows 	Server 2008 R2 ile uyumludur.
Windows 	Server 2008 R2&#8242;deki BranchCache özelliğini destekler.
Windows 	7 ve Windows Server 2008 R2 istemcisini destekler.
Rapor 	özelliği sunar.
WSUS 	3.0 SP2 yalnız başına yüklenebilir veya WSUS 3.0 SP1&#8242;e 	güncelleme olarak kullanılabilir.

WSUS&#8217;u kurmak [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fentanyl.wordpress.com&blog=961999&post=2374&subd=fentanyl&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><span style="font-family:Shruti;"><span style="font-size:small;">Wsus, sistem yöneticilerinin ağlarında bulunan, Windows işletim sistemine sahip bilgisayarlardaki güncellemeleri (Office, Exchange, SQL, Windows) takip etmelerini sağlayan bir servis yazılımıdır.</span></span></p>
<ul>
<li><span style="font-family:Shruti;"><span style="font-size:small;">Windows 	Server 2008 R2 ile uyumludur.</span></span></li>
<li><span style="font-family:Shruti;"><span style="font-size:small;">Windows 	Server 2008 R2&#8242;deki BranchCache özelliğini destekler.</span></span></li>
<li><span style="font-family:Shruti;"><span style="font-size:small;">Windows 	7 ve Windows Server 2008 R2 istemcisini destekler.</span></span></li>
<li><span style="font-family:Shruti;"><span style="font-size:small;">Rapor 	özelliği sunar.</span></span></li>
<li><span style="font-family:Shruti;"><span style="font-size:small;">WSUS 	3.0 SP2 yalnız başına yüklenebilir veya WSUS 3.0 SP1&#8242;e 	güncelleme olarak kullanılabilir.</span></span></li>
</ul>
<p><span style="font-family:Shruti;"><span style="font-size:small;"><em><strong>WSUS&#8217;u kurmak için minimum sistem gereksinimleri :</strong></em></span></span></p>
<p><span style="font-family:Shruti;"><span style="font-size:small;"><em><strong><br />
</strong></em></span></span></p>
<p><span style="font-family:Shruti;"><span style="font-size:small;">1. 6 GB boş disk alanı.</span></span></p>
<p><span style="font-family:Shruti;"><span style="font-size:small;">2. System partition NTFS ile formatlanmış olması.</span></span></p>
<p><span style="font-family:Shruti;"><span style="font-size:small;">3. IIS 5.0 (Windows 2000) ya da IIS 6 (Windows 2003/R2) kurulu olması gerekir.</span></span></p>
<p><span style="font-family:Shruti;"><span style="font-size:small;">4. Net Framework 1.1 SP1.</span></span></p>
<p><span id="more-2374"></span></p>
<p><span style="font-family:Shruti;"><span style="font-size:small;"><br />
</span></span></p>
<p><span style="font-family:Shruti;"><span style="font-size:small;"><em><strong>WSUS 3.0 SP1 için gereksinimler : </strong></em></span></span></p>
<p><span style="font-family:Shruti;"><span style="font-size:small;">Windows Server 2008</span></span></p>
<p><span style="font-family:Shruti;"><span style="font-size:small;">Windows Server 2003 SP1 (en az)</span></span></p>
<p><span style="font-family:Shruti;"><span style="font-size:small;">IIS 6.0 (en az)</span></span></p>
<p><span style="font-family:Shruti;"><span style="font-size:small;">Microsoft .NET Framework 2.0</span></span></p>
<p><span style="font-family:Shruti;"><span style="font-size:small;">Microsoft Management Console 3.0</span></span></p>
<p><span style="font-family:Shruti;"><span style="font-size:small;">Microsoft Report Viewer</span></span></p>
<p><span style="font-family:Shruti;"><span style="font-size:small;"><em><strong>WSUS 3.0 Administration Console için gereksinimler :</strong></em></span></span></p>
<p><span style="font-family:Shruti;"><span style="font-size:small;">Windows XP SP2</span></span></p>
<p><span style="font-family:Shruti;"><span style="font-size:small;">Microsoft. NET Framework 2.0</span></span></p>
<p><span style="font-family:Shruti;"><span style="font-size:small;">Microsoft Management Console 3.0</span></span></p>
<p><span style="font-family:Shruti;"><span style="font-size:small;">Microsoft Report Viewer</span></span></p>
<ul>
<li><span style="font-family:Shruti;"><span style="font-size:small;">Microsoft 	Report Viewer sisteminizde kurulu değilse bu durum kurulumu 	engellemeyecek, fakat yazılımdan rapor alma özelliğini 	kullanamazsınız. Raporunuzu Excel veya PDF seklinde 	kaydedebilirsiniz.</span></span></li>
<li><span style="font-family:Shruti;"><span style="font-size:small;">Eğer 	sisteminizde SQL 2005 sunucunuz varsa database olarak orayı 	tanımlayabilirsiniz. Eğer yok ise yükleme paketi WSUS Windows 	Internal Database&#8217;i kurarak yapılandıracaktır.</span></span></li>
</ul>
<p><span style="font-family:Shruti;"><span style="font-size:small;"><em><strong>Desteklenen İşletim Sistemleri :</strong></em></span></span></p>
<p><span style="font-family:Shruti;"><span style="font-size:small;"><em><strong><br />
</strong></em></span></span></p>
<p><span style="font-family:Shruti;"><span style="font-size:small;">Windows 7; Windows Server 2003; Windows Server 2003 Service Pack 1; Windows Server 2003 Service Pack 2; Windows Server 2008; Windows Vista; Windows Vista Service Pack 1; Windows Vista Service Pack 2; Windows XP Service Pack 3</span></span></p>
<p><span style="font-family:Shruti;"><span style="font-size:small;">Windows Server 2008 R2, Windows Server 2008 SP1 or later versions, Windows Server 2003 SP2 or later versions, Windows Small Business Server 2008, Windows Small Business Server 2003 and Windows XP SP3</span></span></p>
<p><span style="font-family:Shruti;"><span style="font-size:small;"><em><strong>WSUS Download :</strong></em></span></span></p>
<p><span style="font-family:Shruti;"><span style="font-size:small;"><a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=a206ae20-2695-436c-9578-3403a7d46e40&amp;displaylang=en"><span style="font-size:small;">http://www.microsoft.com/downloads/details.aspx?FamilyId=a206ae20-2695-436c-9578-3403a7d46e40&amp;displaylang=en</span></a></span></span></p>
<p><span style="font-family:Shruti;"><span style="font-size:small;"><span style="font-size:small;"><br />
</span></span></span></p>
<p><span style="font-family:Shruti;"><span style="font-size:small;">Yükleme paketi WSUS 3.0 SP2 Server, WSUS 3.0 SP2 Yönetim konsol bileşenleri ve düşük seviye işletim sistemleri için WUA istemcisi yükler.</span></span></p>
<p><span style="font-family:Shruti;"><span style="font-size:small;"><a href="http://fentanyl.files.wordpress.com/2009/11/1-1.jpg"><img class="alignleft size-full wp-image-2375" title="1.1" src="http://fentanyl.files.wordpress.com/2009/11/1-1.jpg?w=341&#038;h=194" alt="1.1" width="341" height="194" /></a></span></span></p>
<p><span style="font-family:Shruti;"><span style="font-size:small;"><em><strong>Adım Adım WSUS Yüklemesi :</strong></em></span></span></p>
<ol>
<li><span style="font-family:Shruti;"><span style="font-size:small;">İnstaller&#8217;ı 	Çalıştırın.</span></span></li>
<li><span style="font-family:Shruti;"><span style="font-size:small;">Sunucu 	kurulumu yapıyorsanız ilk seçeneği, eğer kurduğumuz bir 	WSUS’u istemci bir pc den yönetmek istersek 2. seçeneği 	seçin.</span></span></li>
<li><span style="font-family:Shruti;"><span style="font-size:small;">Lisans 	sözleşmesini kabul edin.</span></span></li>
<li><span style="font-family:Shruti;"><span style="font-size:small;">WSUS’un 	update’leri indireceği yeri seçin. Yüksek alan içeren 	bir bölüm olması faydanızadır.</span></span></li>
<li><span style="font-family:Shruti;"><span style="font-size:small;">Eğer 	sisteminizde SQL 2005 sunucunuz varsa database olarak orayı 	tanımlayabilirsiniz. Eğer yok ise yükleme paketi WSUS Windows 	Internal Database&#8217;i kurarak yapılandıracaktır.</span></span></li>
<li><span style="font-family:Shruti;"><span style="font-size:small;">IIS 	üzerinde WSUS’a istemcilerin erişim yapacakları site 	ayarını yapın. Yerel web sayfasını kullanacaksanız 1. 	seçeneği, yeni bir WSUS web sitesi oluşturacaksanız 	2.seçeneği seçin. 2. seçeneği seçtiğinizde 	sitenizin sonuna bir port numarası eklenir. Eğer modeminiz 	dahilinde veya software olarak bir firewall kullanıyorsanız bu 	porta erişim izni tanımanız gerekir.</span></span></li>
<li><span style="font-family:Shruti;"><span style="font-size:small;">Ayar 	Sihirbazından gereken ayarları yapınız.</span></span></li>
<li><span style="font-family:Shruti;"><span style="font-size:small;">Sistemde 	birden fazla WSUS varsa ikinci seçeneği seçerek 	senkronize edebilirsiniz. İlk kurulum için birinci seçeneği 	seçerek WSUS&#8217;u doğrudan Windows Update ile 	ilişkilendirebilirsiniz.</span></span></li>
<li><span style="font-family:Shruti;"><span style="font-size:small;">Proxy 	ayarlarınızı yapın.</span></span></li>
<li><span style="font-family:Shruti;"><span style="font-size:small;">Start 	Connection&#8217;u seçerek bağlantıyı başlatıp update 	bilgilerini alalım.</span></span></li>
<li><span style="font-family:Shruti;"><span style="font-size:small;">Güncelleme 	yapacağımız yazılımların kullandığı dil paketlerini 	güncelleme olarak alalım. Office, Exchange, SQL, Windows vs.</span></span></li>
<li><span style="font-family:Shruti;"><span style="font-size:small;">Güncelleme 	yapmak istediğimiz alanları seçelim.</span></span></li>
<li><span style="font-family:Shruti;"><span style="font-size:small;">Güncelleme 	günlüğü oluşturun.</span></span></li>
<li><span style="font-family:Shruti;"><span style="font-size:small;">Senkronizasyonu 	başlat seçeneğini de seçerek kurulumu bitirelim.</span></span></li>
</ol>
<p><span style="font-family:Shruti;"><span style="font-size:small;">(Wsus&#8217;a Başlat/Programlar/Yönetimsel Araçlar&#8217;dan ulaşılabilir.)</span></span></p>
<p><strong><span style="font-family:Shruti;"><span style="font-size:small;">WSUS admin sayfası :</span></span></strong></p>
<p><span style="font-family:Shruti;"><span style="font-size:small;"><a href="http://wsusserver/WusAdmin"><span style="font-size:small;">http://wsusserver/WusAdmin</span></a></span></span></p>
<p><span style="font-family:Shruti;"><span style="font-size:small;"><span style="font-size:small;"><br />
</span></span></span></p>
<p><span style="font-family:Shruti;"><span style="font-size:small;">Eğer default olan port numarasından başka bir port atadıysanız :</span></span></p>
<p><span style="font-family:Shruti;"><span style="font-size:small;">http://wsusserver:PortNumaraniz/WusAdmin</span></span></p>
<p><span style="font-family:Shruti;"><span style="font-size:small;"><br />
</span></span></p>
<p><span style="font-family:Shruti;"><span style="font-size:small;"><em><strong>Adım Adım WSUS Konfigürasyonu</strong></em></span></span></p>
<ol>
<li><span style="font-family:Shruti;"><span style="font-size:small;">Eşitleme 	bittikten sonra kategoriler halinde gördüğümüz 	güncelleştirmelerden, Filter kısmından 	“Unappored” Status kısmından “Any” sorgularını 	yaptığımızda eşitlemede çektiğiniz liste gelir. 	Yüklenmesini istediğimiz güncelleştirmeleri seçerek 	“Approve” seçeneği ile güncelleştirmeye 	başlıyoruz.</span></span></li>
<li><span style="font-family:Shruti;"><span style="font-size:small;">Şimdi, 	istemcilerin bu güncelleştirmelerden haberdar olabilmesi için 	template ekliyoruz. Wuau template’i editöre ekleyelim.</span></span></li>
<li><span style="font-family:Shruti;"><span style="font-size:small;">Administrative 	Templates&#8217;e sağ tıklayalım. Add/Remove Templates&#8217;i seçin. 	Wuau.adm dosyasını seçip ekliyoruz.</span></span></li>
<li><span style="font-family:Shruti;"><span style="font-size:small;">GPO</span></span><span style="font-family:Shruti;"><span style="font-size:small;">&gt;</span></span><span style="font-family:Shruti;"><span style="font-size:small;">Computer 	Configuration</span></span><span style="font-family:Shruti;"><span style="font-size:small;">&gt;</span></span><span style="font-family:Shruti;"><span style="font-size:small;">Administrative 	Templates</span></span><span style="font-family:Shruti;"><span style="font-size:small;">&gt;</span></span><span style="font-family:Shruti;"><span style="font-size:small;">Windows </span></span> <span style="font-family:Shruti;"><span style="font-size:small;">Components</span></span><span style="font-family:Shruti;"><span style="font-size:small;">&gt;</span></span><span style="font-family:Shruti;"><span style="font-size:small;">Windows 	Update</span></span></li>
<li><span style="font-family:Shruti;"><span style="font-size:small;">Configure 	Automatic Updates </span></span><span style="font-family:Shruti;"><span style="font-size:small;">&gt; </span></span><span style="font-family:Shruti;"><span style="font-size:small;">Enabled</span></span></li>
<li><span style="font-family:Shruti;"><span style="font-size:small;">GPO</span></span><span style="font-family:Shruti;"><span style="font-size:small;"> &gt; </span></span><span style="font-family:Shruti;"><span style="font-size:small;">Computer 	Configuration</span></span><span style="font-family:Shruti;"><span style="font-size:small;"> &gt; </span></span><span style="font-family:Shruti;"><span style="font-size:small;">Administrative 	Templates</span></span><span style="font-family:Shruti;"><span style="font-size:small;"> &gt; </span></span><span style="font-family:Shruti;"><span style="font-size:small;">Windows 	Components </span></span><span style="font-family:Shruti;"><span style="font-size:small;">&gt; </span></span><span style="font-family:Shruti;"><span style="font-size:small;">Windows 	Update</span></span></li>
<li><span style="font-family:Shruti;"><span style="font-size:small;">Specify 	intranet Microsoft update service location</span></span><span style="font-family:Shruti;"><span style="font-size:small;"> &gt; </span></span><span style="font-family:Shruti;"><span style="font-size:small;">Enabled</span></span><span style="font-family:Shruti;"><span style="font-size:small;">* 	GPO&#8217;nun istemcileri görmesi 15-20 dakika arası zaman alabilir. 	Bu süreyi beklemek istemiyorsanız “wuauclt.exe /detectnow” 	komutu ile anında istemcileri belirleyebilirsiniz.</span></span></li>
<li><span style="font-family:Shruti;"><span style="font-size:small;">Gpupdate 	/force</span></span><span style="font-family:Shruti;"><span style="font-size:small;"> komutunu çalıştıralım ve istemcileri yeniden başlatalım.</span></span></li>
<li><span style="font-family:Shruti;"><span style="font-size:small;">İstemci 	de </span></span><span style="font-family:Shruti;"><span style="font-size:small;">rsop.msc</span></span><span style="font-family:Shruti;"><span style="font-size:small;"> komutunu çalıştırarak policy ayarlarımızın 	geçerliliğini sınayalım.</span></span></li>
</ol>
<p><span style="font-family:Shruti;"><em><strong>WSUS 3.0&#8242;da e-mail bilgilendirmeleri</strong></em></span></p>
<p><span style="color:#000000;"><span style="font-family:Shruti;"><span style="font-size:small;"><em><strong>Posta Sunucusu Ayarları :</strong></em></span></span></span></p>
<p><em><strong> </strong></em>E-Mail Server sekmesinden &#8220;Outgoing e-mail server (SMTP)&#8221; kutusuna mail sunucunuzun adini yazin. &#8220;Port number&#8221; kutusuna mail sunucusunun SMTP portunu yazin.</p>
<p><span style="color:#000000;"><span style="font-family:Shruti;"><span style="font-size:small;">&#8220;Sender name&#8221; (Gönderen)<br />
&#8220;E-mail address&#8221; (Gönderenin Mail Adresi)<br />
Eger mail sunucunuz kimlik dogrulamasi yapiyorsa &#8220;My SMTP server requires authentication&#8221; secenegini secin ve kullanici adi ile sifreyi yazin.</span></span></span></p>
<p><span style="color:#000000;"><span style="font-family:Shruti;"><span style="font-size:small;">Uygulayıp çıkınız. </span></span></span></p>
<p><span style="font-family:Shruti;"><span style="font-size:small;"><em><strong>Gönderim Ayarları :</strong></em></span></span></p>
<p><span style="font-family:Shruti;"><span style="font-size:small;"><em><strong><br />
</strong></em></span></span></p>
<p><span style="font-family:Shruti;"><span style="font-size:small;">WSUS Administration / Options / E-Mail Notifications / General</span></span></p>
<p><span style="font-family:Shruti;"><span style="font-size:small;">Send e-mail notification when new updates are synchronized&#8221; seçeneğini seçerek, güncellemeler hakkında, &#8220;Send status reports&#8221; seçeneğini seçerek durum bildirimlerini mail olarak alabilirsiniz.</span></span></p>
<p><span style="font-family:Shruti;"><span style="font-size:small;">Recipients bölümüne bilgilendirme mesajlarini alacak emailleri yazin. Birden fazla email adresi yazacaksaniz noktali virgul ile ayirin.</span></span></p>
<p><span style="font-family:Shruti;"><span style="font-size:small;">&#8220;Frequency box&#8221; (Gönderim sıklığı)</span></span></p>
<p><span style="font-family:Shruti;"><span style="font-size:small;">&#8220;Send reports at&#8221; (Gönderim saati)</span></span></p>
<p>“<span style="font-family:Shruti;"><span style="font-size:small;">Recipients” (Alicilar)</span></span></p>
<p><span style="font-family:Shruti;"><span style="font-size:small;">Ayarlarını yapın ve uygulayın.</span></span></p>
<p><span style="font-family:Shruti;"><span style="font-size:small;"><br />
</span></span></p>
<p><span style="font-family:Shruti;"><span style="font-size:small;"><em><strong>Bu yazıyı bilgisayarınıza PDF Formatında indirebilirsiniz :</strong></em><br />
</span></span></p>
<p><span style="font-family:Shruti;"><span style="font-size:small;"><a href="http://fentanyl.files.wordpress.com/2009/11/istemci_guvenligini_saglamak_guncellestirmele.pdf">DOWNLOAD</a></span></span></p>
<p><span style="font-family:Shruti;"><span style="font-size:small;"><br />
</span></span></p>
<p><span style="font-family:Shruti;"><span style="font-size:small;"><em><strong>Kaynaklar :</strong></em></span></span></p>
<p><span style="font-family:Shruti;"><span style="font-size:small;"><a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=a206ae20-2695-436c-9578-3403a7d46e40&amp;displaylang=en#Requirements"><span style="font-size:small;">http://www.microsoft.com/downloads/details.aspx?FamilyId=a206ae20-2695-436c-9578-3403a7d46e40&amp;displaylang=en#Requirements</span></a></span></span></p>
<p><span style="font-family:Shruti;"><span style="font-size:small;"><a href="http://blogs.digitalortam.net/?p=16">http://blogs.digitalortam.net/</a></span></span></p>
<p><span style="font-family:Shruti;"><span style="font-size:small;"><a href="http://www.hidayetaltun.com/wsus/75-yeni-sunucuya-wsus-tajujema.html">http://www.hidayetaltun.com/wsus/</a></span></span></p>
<p><span style="font-family:Shruti;"><span style="font-size:small;"><a href="http://mshowto.org/">http://mshowto.org</a></span></span></p>
<p><span style="font-family:Shruti;"><span style="font-size:small;"><a href="http://www.syslogs.org/tag/wsus/">http://www.syslogs.org/tag/wsus/</a></span></span></p>
<p><span style="font-family:Shruti;"><span style="font-size:small;"><a href="http://osman-shener-tr.blogspot.com/2008/03/wsus-da-unattended-kurulum.html">http://osman-shener-tr.blogspot.com</a></span></span></p>
Posted in Server Güvenliği Tagged: Güvenlik, server updates, siste güvenliği, Sql Server, Windows Server 2008, WSUS <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fentanyl.wordpress.com/2374/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fentanyl.wordpress.com/2374/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fentanyl.wordpress.com/2374/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fentanyl.wordpress.com/2374/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fentanyl.wordpress.com/2374/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fentanyl.wordpress.com/2374/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fentanyl.wordpress.com/2374/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fentanyl.wordpress.com/2374/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fentanyl.wordpress.com/2374/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fentanyl.wordpress.com/2374/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fentanyl.wordpress.com&blog=961999&post=2374&subd=fentanyl&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://fentanyl.wordpress.com/2009/11/02/istemci-guvenligini-saglamak-guncellestirmeler-windows-server-update-services-wsus/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d956096b59bca9150215c25b234811f0?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fentanyl</media:title>
		</media:content>

		<media:content url="http://fentanyl.files.wordpress.com/2009/11/1-1.jpg" medium="image">
			<media:title type="html">1.1</media:title>
		</media:content>
	</item>
		<item>
		<title>Güzel bir seminerdi..</title>
		<link>http://fentanyl.wordpress.com/2009/10/19/guzel-bir-seminerdi/</link>
		<comments>http://fentanyl.wordpress.com/2009/10/19/guzel-bir-seminerdi/#comments</comments>
		<pubDate>Mon, 19 Oct 2009 19:58:53 +0000</pubDate>
		<dc:creator>fentanyl</dc:creator>
				<category><![CDATA[Web Programlama]]></category>
		<category><![CDATA[.net]]></category>
		<category><![CDATA[3d animasyon]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[azure]]></category>
		<category><![CDATA[bulut bilişimi]]></category>
		<category><![CDATA[linq veritabanı]]></category>
		<category><![CDATA[silverlight]]></category>
		<category><![CDATA[web temelleri]]></category>
		<category><![CDATA[Windows Azure]]></category>
		<category><![CDATA[wpf]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://fentanyl.wordpress.com/?p=2357</guid>
		<description><![CDATA[Bugün Microsoft Certificied Application Developer &#124; SOA Danışmanı Gökhan Öztopuz&#8216;un seminerine katıldım. Yaklaşık 3,5 saat süren seminerde :
Web Temelleri (html, css, javascript, ajax, .NET)
Web servisleri (xml)
Ajax örnekleri
Azure
Bulut Bilişimi
Konuları üzerinde duruldu.
Yarın &#8220;Daron Yöndem&#8221; hocanın seminerine katılacağım.  O seminerde ise :
WPF ile 3D animasyonlar
LINQ ile veritabanı erişimi
Silverlight
konuları üzerinde durulacak.
Bugün ki seminere ait sunular :
BULUT BİLİŞİMİ-SAAS-AZURE
WEB SERVİSLERİ-
Web Temelleri
Kolay [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fentanyl.wordpress.com&blog=961999&post=2357&subd=fentanyl&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Bugün <span style="color:#000000;">Microsoft Certificied Application Developer | SOA Danışmanı Gökhan Öztopuz</span>&#8216;un seminerine katıldım. Yaklaşık 3,5 saat süren seminerde :</p>
<p><em><strong>Web Temelleri (html, css, javascript, ajax, .NET)<br />
Web servisleri (xml)<br />
Ajax örnekleri<br />
Azure<br />
Bulut Bilişimi</strong></em></p>
<p>Konuları üzerinde duruldu.</p>
<p>Yarın &#8220;<span style="color:#000000;">Daron Yöndem</span>&#8221; hocanın seminerine katılacağım.  O seminerde ise :</p>
<p><em><strong>WPF ile 3D animasyonlar</strong></em></p>
<p><em><strong>LINQ ile veritabanı erişimi</strong></em></p>
<p><em><strong>Silverlight</strong></em></p>
<p>konuları üzerinde durulacak.</p>
<p>Bugün ki seminere ait sunular :</p>
<p><a href="http://fentanyl.files.wordpress.com/2009/10/bulut-bilisimi-saas-azure.ppt">BULUT BİLİŞİMİ-SAAS-AZURE</a></p>
<p><a href="http://fentanyl.files.wordpress.com/2009/10/web-servisleri.ppt">WEB SERVİSLERİ-</a></p>
<p><a href="http://fentanyl.files.wordpress.com/2009/10/web-temelleri.ppt">Web Temelleri</a></p>
<p>Kolay gelsin.</p>
<p>M.Serhat Dündar</p>
Posted in Web Programlama Tagged: .net, 3d animasyon, Ajax, azure, bulut bilişimi, linq veritabanı, silverlight, web temelleri, Windows Azure, wpf, XML <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fentanyl.wordpress.com/2357/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fentanyl.wordpress.com/2357/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fentanyl.wordpress.com/2357/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fentanyl.wordpress.com/2357/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fentanyl.wordpress.com/2357/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fentanyl.wordpress.com/2357/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fentanyl.wordpress.com/2357/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fentanyl.wordpress.com/2357/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fentanyl.wordpress.com/2357/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fentanyl.wordpress.com/2357/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fentanyl.wordpress.com&blog=961999&post=2357&subd=fentanyl&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://fentanyl.wordpress.com/2009/10/19/guzel-bir-seminerdi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d956096b59bca9150215c25b234811f0?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fentanyl</media:title>
		</media:content>
	</item>
		<item>
		<title>Mod Security Kullanım Kılavuzu</title>
		<link>http://fentanyl.wordpress.com/2009/09/26/mod-security-kullanim-kilavuzu/</link>
		<comments>http://fentanyl.wordpress.com/2009/09/26/mod-security-kullanim-kilavuzu/#comments</comments>
		<pubDate>Sat, 26 Sep 2009 23:27:34 +0000</pubDate>
		<dc:creator>fentanyl</dc:creator>
				<category><![CDATA[Server Güvenliği]]></category>
		<category><![CDATA[firewall]]></category>
		<category><![CDATA[Güvenlik]]></category>
		<category><![CDATA[mod security]]></category>
		<category><![CDATA[sunucu güvenliği]]></category>
		<category><![CDATA[WAF]]></category>
		<category><![CDATA[web firewall]]></category>
		<category><![CDATA[Web Güvenliği]]></category>

		<guid isPermaLink="false">http://fentanyl.wordpress.com/?p=2351</guid>
		<description><![CDATA[Not: Bu döküman “Mod Security Reference Manual” dökümanından yararlanılarak yazılmıstır.
Zaman zaman içinde kendi yorumlarım ve örneklerim bulunmaktadır.
Giris
Mod Security Nedir?
Mod Security, Web uygulamaları için gelistirilmis açık kaynak kodlu güvenlik duvarıdır “Web Application Firewall (WAF)&#8221;. Mod Security web sunucusuna gömülü sekilde çalısır.
Kullandıgınız ve ya yazdıgınız web uygulamaları için saldırı tespit ve engelleme görevini üstlenir.
Neden Kullanırız?  Yararları Nelerdir? [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fentanyl.wordpress.com&blog=961999&post=2351&subd=fentanyl&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Not: Bu döküman “Mod Security Reference Manual” dökümanından yararlanılarak yazılmıstır.</p>
<p>Zaman zaman içinde kendi yorumlarım ve örneklerim bulunmaktadır.</p>
<p><strong>Giris</strong></p>
<p><strong>Mod Security Nedir?</strong></p>
<p>Mod Security, Web uygulamaları için gelistirilmis açık kaynak kodlu güvenlik duvarıdır “Web Application Firewall (WAF)&#8221;. Mod Security web sunucusuna gömülü sekilde çalısır.</p>
<p>Kullandıgınız ve ya yazdıgınız web uygulamaları için saldırı tespit ve engelleme görevini üstlenir.</p>
<p><strong>Neden Kullanırız?  Yararları Nelerdir? </strong></p>
<p>1. Mod Seucirty HTTP trafigini son derece detaylı dinler (Bunu ileride auditlog kavramında görecegiz). Apachenin loglarını göz önünde tutarsak istek içerigi ve cevap içerigi gibi ibarelerin loglanmadıgını görürüz. Oysa Mod Security HTTP trafigi üzerinde her türlü veriyi kayıt altına alma yetenegine sahiptir. Hatta bu logları gruplamanıza ve ya daha okunur sekilde yazdırmanıza yardımcı olur. Bir çok log analiz standartını desteklemektir. Özellikle kendi içinde guarding log sitilinide bulundurmaktadır.</p>
<p>2. Mod Security`nin bir avantajıda gerçek zamanlı veri analizi yapmasıdır. Bu ne demektir?</p>
<p>Kullanıcıların uygulamalarınız üzerinde ve ya web sunucunuza baglandıgı andan itibaren gelen giden veriler üzerinde istediginiz kontrolleri yapmanız demektir.</p>
<p>3. Saldırı tespit ve önleme için anında müdahaleler yapmanıza yarayan kurallar yazabilirsiniz.</p>
<p>Mod Security web uygulamalarınıza erismek isteyen saldırılara karsı anında tepki verir.</p>
<p>Bunu çogunlukla üç yolla yapar :</p>
<p><span id="more-2351"></span></p>
<p><strong>a. Negatif Güvenlik Modeli (Negative Security Model):</strong></p>
<p>Anormal istekleri, sıra dısı hareketleri ve genel web uygulama ataklarını izler. Kısacası bir çok detaya bakıp (ip adress, oturum, kullanıcı hesabı) bunların sonucuna göre kuralların islenmesi saglanır.</p>
<p><strong>b. Pozitif Güvenlik Modeli (Positive Security Model):</strong></p>
<p>Bu modeli uyguladıgınızda, sadece geçerli tanımladıgınız istekler kabul edilir ve bunun dısındakiler tümüyle reddedilir. Bu yaklasım agır ve nadiren güncellenen uygulamalarla çok iyi çalısır.</p>
<p><strong>c. Bilinen Zayıflıklar ve Açıklar (Known weaknesses and Vulnerabilities):</strong></p>
<p>Mod Security`nin kural dili sayesinde, dısarıdan gelen saldırılara karsı sunucunuza kurallar yardımı ile birlikte yamalar yapmanızı saglar. Bu yamalar sunucunun kendi açıklarından ziyade üçüncü parti yazılımlardan kaynaklanan açıklardır. Bu yazılımlardan kaynaklanan açıklar yazılım sahibi tarafından güncellenene kadar mod Security ile yamalar olusturabilirsiniz. Yani dısarıdan gelen zararlı istekleri azaltmaya yarar. Web uygulamalarının açıklarını düzeltmek bir çok kurumda haftaları buluyor. Mod Security sayesinde uygulamanın kaynak koduna dokunmadan (çogu zaman erismeksizin) dısarıdan kurallar ekleyerek güvenlik yamalarınızı olusturabilirsiniz.</p>
<p>4. Mod Security kural moturu (SecRuleEngin) çok esnek kurallar yazmamızı saglar. Bu motor aynı zamanda Mod Security`nin asıl amacını tasır. Aynı zamanda HTTP islem dataları üzerinde bize özel bir programlama dili sunar. –ki bu dil normal firewall kullanıcıları ve ya web uygulaması gelstirenler için çokta yabancı degildir (Özellikle regular expression – düzenli ifadeler, PCRE kütüphanesi kullanılır). Bir diger hususta zincir kurallar olusturabilmenizdir. Bsunu bir nevi if kurallarına benzeterek yapılan kural takımıda diyebiliriz. Buda sizin daha kompleks kurallar yazmanız anlamına gelir.</p>
<p>5. Yukarıda da söyledigimiz gibi Mod Security gömülü bir firewall uygulamasıdır. Bunun anlamıda kurulu olan web sunucunuza istediginiz zaman ilave edebilir ve devre dısı bırakabilirsiniz. Mod Security`nin bu kullanım sekli ile daha önce var olan networkünüzde herhangi bir degisiklik yapmanıza gerek kalmaz. Ayrıca kural dosyalarının Web sunucunuzla bir bagı olmadıgından tasınabilirligi gayet kolaydır. Ayrıca SSL tarfiginide analiz etme yetenegine sahiptir. Bunu SSL üstünden geçen veriler çözüldükten hemen<br />
sonra hayata geçirir. Bir çok isletim sistemiyle birlikte gayet uyumlu çalısır. Genel kullanıcıları FreeBSD, Linux, Windows, Solaris, OpenBSD, NetBSD, AIX, Mac OS X ve HP-UX.</p>
<p>6. Mod Security apachenin Mod proxy uygulaması ile birliktede çalısabilir.</p>
<p><strong>Devamı için :</strong></p>
<p><a href="http://fentanyl.files.wordpress.com/2009/09/modsecurity_2-1-0_turkish.pdf">ModSecurity_2.1.0_Turkish</a></p>
Posted in Server Güvenliği Tagged: firewall, Güvenlik, mod security, Server Güvenliği, sunucu güvenliği, WAF, web firewall, Web Güvenliği <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fentanyl.wordpress.com/2351/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fentanyl.wordpress.com/2351/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fentanyl.wordpress.com/2351/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fentanyl.wordpress.com/2351/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fentanyl.wordpress.com/2351/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fentanyl.wordpress.com/2351/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fentanyl.wordpress.com/2351/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fentanyl.wordpress.com/2351/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fentanyl.wordpress.com/2351/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fentanyl.wordpress.com/2351/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fentanyl.wordpress.com&blog=961999&post=2351&subd=fentanyl&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://fentanyl.wordpress.com/2009/09/26/mod-security-kullanim-kilavuzu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d956096b59bca9150215c25b234811f0?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fentanyl</media:title>
		</media:content>
	</item>
		<item>
		<title>Sandcat &#8211; PHP, php.ini, httpd.conf Güvenliği</title>
		<link>http://fentanyl.wordpress.com/2009/09/11/sandcat-php-php-ini-httpd-conf/</link>
		<comments>http://fentanyl.wordpress.com/2009/09/11/sandcat-php-php-ini-httpd-conf/#comments</comments>
		<pubDate>Fri, 11 Sep 2009 15:51:20 +0000</pubDate>
		<dc:creator>fentanyl</dc:creator>
				<category><![CDATA[Güvenlik Araçları]]></category>
		<category><![CDATA[httpd.conf ayarları]]></category>
		<category><![CDATA[httpd.conf güvenlik]]></category>
		<category><![CDATA[php güvenlik]]></category>
		<category><![CDATA[php script güvenliği]]></category>
		<category><![CDATA[php.ini ayarları]]></category>
		<category><![CDATA[php.ini güvenlik]]></category>
		<category><![CDATA[sandcat]]></category>
		<category><![CDATA[sandcat for php]]></category>
		<category><![CDATA[sandcat vulnerability scanner]]></category>
		<category><![CDATA[Web Güvenliği]]></category>

		<guid isPermaLink="false">http://fentanyl.wordpress.com/?p=2336</guid>
		<description><![CDATA[Tanım :
Syhunt firmasının en iyi ürünlerinden olan Sandcat&#8217;in, tamamen php scriptler için yazılmış hali &#8220;SandCat for PHP&#8221;.
Özellikler :

** Sandcat’in paranoyak yapısını unutmamak lazım. Bütün $Post $Get $Sesion $Cookie karakterleri, echo komutu ve daha bir çoğu muhtemel tehlike onun için.
* Program sadece local olarak çalışmakta.
* Ücretsiz sürümünde tek seferde sadece 2 dosya için tarama yapabilirsiniz. Fakat [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fentanyl.wordpress.com&blog=961999&post=2336&subd=fentanyl&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><strong>Tanım :</strong></p>
<p>Syhunt firmasının en iyi ürünlerinden olan Sandcat&#8217;in, tamamen php scriptler için yazılmış hali &#8220;SandCat for PHP&#8221;.</p>
<p><strong>Özellikler :</strong></p>
<p><a href="http://fentanyl.files.wordpress.com/2009/09/sandcatphp.jpg"><img class="alignleft size-full wp-image-2337" title="sandcatphp" src="http://fentanyl.files.wordpress.com/2009/09/sandcatphp.jpg?w=219&#038;h=296" alt="sandcatphp" width="219" height="296" /></a></p>
<p>** Sandcat’in paranoyak yapısını unutmamak lazım. Bütün $Post $Get $Sesion $Cookie karakterleri, echo komutu ve daha bir çoğu muhtemel tehlike onun için.</p>
<p>* Program sadece local olarak çalışmakta.</p>
<p>* Ücretsiz sürümünde tek seferde sadece 2 dosya için tarama yapabilirsiniz. Fakat tarama yapacağınız toplam dosya sayısı sınırsızdır.</p>
<p><span id="more-2336"></span></p>
<p><strong>Daha önce genel sürümünü tanıtmıştım :</strong></p>
<p><a class="linkification-ext" title="Linkification: http://fentanyl.wordpress.com/2009/04/21/sandcat-37-web-security-scanner/" href="http://fentanyl.wordpress.com/2009/04/21/sandcat-37-web-security-scanner/">http://fentanyl.wordpress.com/2009/04/21/sandcat-37-web-security-scanner/</a></p>
<p><a href="http://fentanyl.files.wordpress.com/2009/09/sandcatphp2.jpg"><img class="alignleft size-full wp-image-2338" title="sandcatphp2" src="http://fentanyl.files.wordpress.com/2009/09/sandcatphp2.jpg?w=600&#038;h=399" alt="sandcatphp2" width="600" height="399" /></a></p>
<p><strong>Konfigürasyon Dosyalarının Güvenliği</strong></p>
<p>Sandcat&#8217;in bize sunduğu özellikler arasına Syhunt Hardening Tool&#8217;da bulunmakta.</p>
<p>Bu özellik ile php.ini, httpd.conf gibi konfügürasyon dosyalarının güvenlik ayarlarını otomatik olarak denetleyebiliyoruz.</p>
<p><strong>Örnek bir php.ini dosyasına ait analiz :</strong></p>
<p><a href="http://fentanyl.files.wordpress.com/2009/09/sandcatphp3.jpg"><img class="alignleft size-full wp-image-2339" title="sandcatphp3" src="http://fentanyl.files.wordpress.com/2009/09/sandcatphp3.jpg?w=600&#038;h=364" alt="sandcatphp3" width="600" height="364" /></a></p>
<p><strong>Örnek bir</strong><strong> </strong><strong>httpd.conf</strong><strong> dosyasına ait analiz :</strong></p>
<p><strong><a href="http://fentanyl.files.wordpress.com/2009/09/sandcatphp41.jpg"><img class="alignleft size-full wp-image-2342" title="sandcatphp4" src="http://fentanyl.files.wordpress.com/2009/09/sandcatphp41.jpg?w=600&#038;h=327" alt="sandcatphp4" width="600" height="327" /></a></strong></p>
<p><strong>Download :</strong></p>
<p>http://www.syhunt.com/</p>
<p><strong>M.Serhat Dündar</strong></p>
Posted in Güvenlik Araçları Tagged: httpd.conf ayarları, httpd.conf güvenlik, php güvenlik, php script güvenliği, php.ini ayarları, php.ini güvenlik, sandcat, sandcat for php, sandcat vulnerability scanner, Web Güvenliği <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fentanyl.wordpress.com/2336/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fentanyl.wordpress.com/2336/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fentanyl.wordpress.com/2336/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fentanyl.wordpress.com/2336/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fentanyl.wordpress.com/2336/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fentanyl.wordpress.com/2336/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fentanyl.wordpress.com/2336/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fentanyl.wordpress.com/2336/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fentanyl.wordpress.com/2336/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fentanyl.wordpress.com/2336/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fentanyl.wordpress.com&blog=961999&post=2336&subd=fentanyl&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://fentanyl.wordpress.com/2009/09/11/sandcat-php-php-ini-httpd-conf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d956096b59bca9150215c25b234811f0?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fentanyl</media:title>
		</media:content>

		<media:content url="http://fentanyl.files.wordpress.com/2009/09/sandcatphp.jpg" medium="image">
			<media:title type="html">sandcatphp</media:title>
		</media:content>

		<media:content url="http://fentanyl.files.wordpress.com/2009/09/sandcatphp2.jpg" medium="image">
			<media:title type="html">sandcatphp2</media:title>
		</media:content>

		<media:content url="http://fentanyl.files.wordpress.com/2009/09/sandcatphp3.jpg" medium="image">
			<media:title type="html">sandcatphp3</media:title>
		</media:content>

		<media:content url="http://fentanyl.files.wordpress.com/2009/09/sandcatphp41.jpg" medium="image">
			<media:title type="html">sandcatphp4</media:title>
		</media:content>
	</item>
		<item>
		<title>Dranzer &#8211; ActiveX Nesnelerinin Güvenlik Testi Nasıl Yapılır?</title>
		<link>http://fentanyl.wordpress.com/2009/09/11/dranzer-activex-nesnelerinin-guvenlik-testi-nasil-yapilir/</link>
		<comments>http://fentanyl.wordpress.com/2009/09/11/dranzer-activex-nesnelerinin-guvenlik-testi-nasil-yapilir/#comments</comments>
		<pubDate>Fri, 11 Sep 2009 12:47:17 +0000</pubDate>
		<dc:creator>fentanyl</dc:creator>
				<category><![CDATA[Web Güvenliği]]></category>
		<category><![CDATA[activeX]]></category>
		<category><![CDATA[activex güvenlik]]></category>
		<category><![CDATA[activex güvenliği]]></category>
		<category><![CDATA[dranzer]]></category>
		<category><![CDATA[penetration programları]]></category>
		<category><![CDATA[penetration tools]]></category>
		<category><![CDATA[Security Tools]]></category>
		<category><![CDATA[web güven]]></category>

		<guid isPermaLink="false">http://fentanyl.wordpress.com/?p=2326</guid>
		<description><![CDATA[Uzun zamandır activeX ile ilgili doğru düzgün bir güvenlik yazılımı görmemiştim. O yüzden bu yazılım gözümde bi kat daha değerli. Bugün security-database&#8217;de gezinirken rastladığım bu güzel programı paylaşmak istedim.

Download :
http://sourceforge.net/projects/dranzer/
Usage (Kullanım) :
&#8220;dranzer.exe &#60;secenekler&#62;&#8221;
Seçenekler :
-o &#60;outputfile&#62; &#8211; Output Filename
-i &#60;inputfile&#62; &#8211; Use input file CLSID list
-d &#60;notestfile&#62; &#8211; Use don’t test CLSID List
-g &#8211; Generate base [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fentanyl.wordpress.com&blog=961999&post=2326&subd=fentanyl&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Uzun zamandır activeX ile ilgili doğru düzgün bir güvenlik yazılımı görmemiştim. O yüzden bu yazılım gözümde bi kat daha değerli. Bugün security-database&#8217;de gezinirken rastladığım bu güzel programı paylaşmak istedim.</p>
<p><a href="http://fentanyl.files.wordpress.com/2009/09/dranzer.jpg"><img class="alignleft size-full wp-image-2329" title="dranzer" src="http://fentanyl.files.wordpress.com/2009/09/dranzer.jpg?w=600&#038;h=402" alt="dranzer" width="600" height="402" /></a></p>
<p><strong>Download :</strong></p>
<p><a title="Linkification: http://sourceforge.net/projects/dranzer/" href="http://sourceforge.net/projects/dranzer/">http://sourceforge.net/projects/dranzer/</a></p>
<p><strong>Usage (Kullanım) :</strong></p>
<p>&#8220;dranzer.exe &lt;secenekler&gt;&#8221;</p>
<p><strong>Seçenekler :</strong></p>
<p>-o &lt;outputfile&gt; &#8211; Output Filename<br />
-i &lt;inputfile&gt; &#8211; Use input file CLSID list<br />
-d &lt;notestfile&gt; &#8211; Use don’t test CLSID List<br />
-g &#8211; Generate base COM list<br />
-k &#8211; Generate Kill Bit COM list<br />
-l &#8211; Generate Interface Listings<br />
-b &#8211; Load In Browser (IE)<br />
-t &#8211; Test Interfaces Properties and Methods<br />
-p &#8211; Test PARAMS (PropertyBag) in Internet Explorer<br />
-s &#8211; Test PARAMS (Binary Scan) in Internet Explorer<br />
-n &#8211; Print COM object information<br />
-v &#8211; Print out version information<br />
-r &#8211; Generate Kill Bit registry files</p>
<p><strong>Örnek:</strong></p>
<p>dranzer.exe -g</p>
<p><strong>User Guide :</strong></p>
<p><a title="Linkification: http://docs.google.com/Doc?docid=0ATn5yqW-bnJPZGhtZGNoZjVfMTAwYzU0NW04OXE&amp;hl=tr" href="http://docs.google.com/Doc?docid=0ATn5yqW-bnJPZGhtZGNoZjVfMTAwYzU0NW04OXE&amp;hl=tr">http://docs.google.com/Doc?docid=0ATn5yqW-bnJPZGhtZGNoZjVfMTAwYzU0NW04OXE&amp;hl=tr</a></p>
<p><strong>Döküman :</strong></p>
<p><a href="http://fentanyl.files.wordpress.com/2009/09/dranzer.pdf">dranzer</a></p>
<p><strong>Bakılması Tavsiye Kaynaklar :</strong></p>
<p><a title="Linkification: http://www.cert.org/vuls/discovery/dranzer.html" href="http://www.cert.org/vuls/discovery/dranzer.html">http://www.cert.org/vuls/discovery/dranzer.html</a></p>
<p>M.Serhat Dündar</p>
<p><span id="more-2326"></span></p>
<p><strong>User Guide :</strong></p>
<h3 style="page-break-before:always;">Overview</h3>
<p style="margin-top:.13in;margin-bottom:.13in;">ActiveX and COM vulnerabilities have been getting much attention lately. ActiveX allows a web browser to use software components installed on a Windows machine. Scripting technologies can allow an attacker to control the memory contents of a machine. By combining scripting and ActiveX, an attacker can take advantage of flaws in COM objects, which may allow execution of arbitrary code, information disclosure, or other security violations.</p>
<p style="margin-top:.13in;margin-bottom:.13in;">Dranzer is a tool that can detect flaws in COM objects.</p>
<h3>Target Audience</h3>
<p style="margin-top:.13in;margin-bottom:.13in;">Dranzer can be useful to various groups of people:</p>
<ol>
<li>
<p style="margin-top:.01in;margin-bottom:.01in;line-height:.2in;">Software developers can test COM objects as they are being developed. By testing during the software development process, developers can prevent vulnerabilities before the software is released to the public.</p>
</li>
<li>
<p style="margin-top:.01in;margin-bottom:.01in;line-height:.2in;">Software vendors can detect and fix flaws in their COM objects before attackers discover the flaws.</p>
</li>
<li>
<p style="margin-top:.01in;margin-bottom:.01in;line-height:.2in;">System administrators can assess the security of their systems with respect to COM objects.</p>
</li>
</ol>
<h2>ActiveX Vulnerability Classes</h2>
<h3>I. COM objects that crash Internet Explorer upon instantiation.</h3>
<p style="margin-top:.13in;margin-bottom:.13in;">Some COM objects will crash Internet Explorer just by being referenced in a web page. The COM object may not have been intended for a web browser, but Internet Explorer will attempt to instantiate any COM object that is referenced in an &lt;OBJECT&gt; tag, regardless of whether the object is a traditional ActiveX control. Certain COM objects will cause Internet Explorer to crash in a manner that attackers can exploit to execute arbitrary code.</p>
<p style="margin-top:.13in;margin-bottom:.13in;">More information about this class of vulnerabilities is available in “Multiple COM objects cause memory corruption in Microsoft Internet Explorer” (<span style="color:#0000ff;"><span style="text-decoration:underline;"><a href="http://www.kb.cert.org/vuls/id/959049">http://www.kb.cert.org/vuls/id/959049</a></span></span>).</p>
<h2>II. COM objects that fail to properly validate input.</h2>
<p style="margin-top:.13in;margin-bottom:.13in;">Attackers can use a script within a web page to control COM objects that are marked “Safe for scripting.” This script would call methods or access properties of the COM object. Attackers can control COM objects that are marked “Safe for initialization” by using &lt;PARAM&gt; tags in a web page. If the COM object fails to properly validate input, such as enforcing a maximum size for a string parameter, an attacker may be able to pass specially crafted parameters that would cause the object to crash Internet Explorer in a way that the attacker could exploit.</p>
<p style="margin-top:.13in;margin-bottom:.13in;">An example of this type of vulnerability is available in “RealPlayer ActiveX control contains buffer overflow in ‘ShowPreferences’” (<span style="color:#0000ff;"><span style="text-decoration:underline;"><a href="http://www.kb.cert.org/vuls/id/698390">http://www.kb.cert.org/vuls/id/698390</a></span></span>).</p>
<h2>III. COM objects that do not restrict access to its methods.</h2>
<p style="margin-top:.13in;margin-bottom:.13in;">Unless special restrictions are in place, any web page can call the methods provided by safe-for-scripting COM objects. Attackers may be able to take advantage of some of these methods to disclose information unintentionally; they may even be able to download and execute applications.</p>
<p style="margin-top:.13in;margin-bottom:.13in;">An example of this type of vulnerability is available in “Microsoft Log Sink Class ActiveX control incorrectly marked ‘safe for scripting’” (<span style="color:#0000ff;"><span style="text-decoration:underline;"><a href="http://www.kb.cert.org/vuls/id/165022">http://www.kb.cert.org/vuls/id/165022</a></span></span>).</p>
<h1>Dranzer system requirements</h1>
<p style="margin-top:.13in;margin-bottom:.13in;">Operating system: Windows Vista, XP or Windows 2000. Windows XP is preferred.</p>
<p style="margin-top:.13in;margin-bottom:.13in;">Browser: Internet Explorer with ActiveX enabled for the Internet Zone (IE 6 and earlier) and Local Intranet Zone (IE 7 or later)</p>
<p style="margin-top:.13in;margin-bottom:.13in;"><strong>Note</strong>: We do not recommend running Dranzer on production systems. The process of testing COM objects essentially involves executing pieces of code that exist on a system, and this may have adverse effects in a test environment.</p>
<h1>Running Dranzer</h1>
<p style="margin-top:.04in;margin-bottom:.04in;line-height:100%;"><span style="font-family:Courier New,monospace;">C:\Program Files\Dranzer\Dranzer\Release&gt;Dranzer.exe</span></p>
<p style="margin-top:.04in;margin-bottom:.04in;line-height:100%;"><span style="font-family:Courier New,monospace;">Execution mode not specified use -g,-k,-l,-b, or -p</span></p>
<p style="margin-top:.04in;margin-bottom:.04in;line-height:100%;"><span style="font-family:Courier New,monospace;">Usage: Dranzer.exe &lt;options&gt;</span></p>
<p style="margin-top:.04in;margin-bottom:.04in;line-height:100%;"><span style="font-family:Courier New,monospace;">Options:</span></p>
<p style="margin-top:.04in;margin-bottom:.04in;line-height:100%;margin-left:80px;"><span style="font-family:Courier New,monospace;">-o &lt;outputfile&gt; &#8211; Output Filename</span></p>
<p style="margin-top:.04in;margin-bottom:.04in;line-height:100%;margin-left:80px;"><span style="font-family:Courier New,monospace;">-i &lt;inputfile&gt; &#8211; Use input file CLSID list</span></p>
<p style="margin-top:.04in;margin-bottom:.04in;line-height:100%;margin-left:80px;"><span style="font-family:Courier New,monospace;">-d &lt;notestfile&gt; &#8211; Use don&#8217;t test CLSID List</span></p>
<p style="margin-top:.04in;margin-bottom:.04in;line-height:100%;margin-left:80px;"><span style="font-family:Courier New,monospace;">-g &#8211; Generate base COM list</span></p>
<p style="margin-top:.04in;margin-bottom:.04in;line-height:100%;margin-left:80px;"><span style="font-family:Courier New,monospace;">-k &#8211; Generate Kill Bit COM list</span></p>
<p style="margin-top:.04in;margin-bottom:.04in;line-height:100%;margin-left:80px;"><span style="font-family:Courier New,monospace;">-l &#8211; Generate Interface Listings</span></p>
<p style="margin-top:.04in;margin-bottom:.04in;line-height:100%;margin-left:80px;"><span style="font-family:Courier New,monospace;">-b &#8211; Load In Browser (IE)</span></p>
<p style="margin-top:.04in;margin-bottom:.04in;line-height:100%;margin-left:80px;"><span style="font-family:Courier New,monospace;">-t &#8211; Test Interfaces Properties and Methods</span></p>
<p style="margin-top:.04in;margin-bottom:.04in;line-height:100%;margin-left:80px;"><span style="font-family:Courier New,monospace;">-p &#8211; Test PARAMS (PropertyBag) in Internet Explorer</span></p>
<p style="margin-top:.04in;margin-bottom:.04in;line-height:100%;margin-left:80px;"><span style="font-family:Courier New,monospace;">-s &#8211; Test PARAMS (Binary Scan) in Internet Explorer</span></p>
<p style="margin-top:.04in;margin-bottom:.04in;line-height:100%;margin-left:80px;"><span style="font-family:Courier New,monospace;">-n &#8211; Print COM object information</span></p>
<p style="margin-top:.04in;margin-bottom:.04in;line-height:100%;margin-left:80px;"><span style="font-family:Courier New,monospace;">-v &#8211; Print out version information</span></p>
<p style="margin-top:.04in;margin-bottom:.04in;line-height:100%;margin-left:80px;"><span style="font-family:Courier New,monospace;">-r - Generate Kill Bit registry files</span></p>
<p style="margin-top:.13in;margin-bottom:.13in;">Dranzer has the ability to test all three of the COM vulnerability classes described above.</p>
<h2>Class I: (<span style="font-family:Courier New,monospace;">-b</span>)</h2>
<p style="margin-top:.13in;margin-bottom:.13in;">With the “<span style="font-family:Courier New,monospace;">-b</span>” option, Dranzer will check for COM objects that cause Internet Explorer to crash upon their instantiation.</p>
<p style="margin-top:.13in;margin-bottom:.13in;">Example usage:</p>
<p style="margin-top:.04in;margin-bottom:.04in;line-height:100%;margin-left:40px;"><span style="font-family:Courier New,monospace;"> Dranzer.exe -o testmachine_crashie.txt -b</span></p>
<h2>Class II: (<span style="font-family:Courier New,monospace;">-t</span>, <span style="font-family:Courier New,monospace;">-p</span>, <span style="font-family:Courier New,monospace;">-s</span>)</h2>
<p style="margin-top:.13in;margin-bottom:.13in;">With the “<span style="font-family:Courier New,monospace;">-t</span>” option, Dranzer will check for COM objects that fail to properly validate input to methods.</p>
<p style="margin-top:.13in;margin-bottom:.13in;">Example usage:</p>
<p style="margin-top:.04in;margin-bottom:.04in;line-height:100%;margin-left:40px;"><span style="font-family:Courier New,monospace;"> Dranzer.exe -o testmachine_report.txt -t</span></p>
<p style="margin-top:.13in;margin-bottom:.13in;">With the “<span style="font-family:Courier New,monospace;">-p</span>” and “<span style="font-family:Courier New,monospace;">-s</span>” options, Dranzer will check for COM objects that fail to properly validate input to initialization parameters. Dranzer will check for available parameters by using either the IPropertyBag interface or by scanning the binary file, respectively.</p>
<p style="margin-top:.13in;margin-bottom:.13in;">Example usage:</p>
<p style="margin-top:.04in;margin-bottom:.04in;line-height:100%;margin-left:40px;"><span style="font-family:Courier New,monospace;"> Dranzer.exe -o testmachine_param_bag.txt -p</span></p>
<p style="margin-top:.04in;margin-bottom:.04in;line-height:100%;margin-left:40px;"><span style="font-family:Courier New,monospace;"> Dranzer.exe -o testmachine_param_scan.txt -s</span></p>
<h2>Class III: (<span style="font-family:Courier New,monospace;">-l</span>)</h2>
<p style="margin-top:.13in;margin-bottom:.13in;">With the “<span style="font-family:Courier New,monospace;">-l</span>” option, Dranzer will enumerate the methods and properties of COM objects that are marked “safe for scripting.”</p>
<p style="margin-top:.13in;margin-bottom:.13in;">Example usage:</p>
<p style="margin-top:.04in;margin-bottom:.04in;line-height:100%;margin-left:40px;"><span style="font-family:Courier New,monospace;"> Dranzer.exe –o testmachine_methods.txt -l</span></p>
<h2>Using baselines and exception lists</h2>
<p style="margin-top:.13in;margin-bottom:.13in;">The “<span style="font-family:Courier New,monospace;">-g</span>” option can be used to create a “baseline” list of COM objects installed on a machine. This capability can be useful for determining what COM objects an application provides. For example:</p>
<p style="margin-top:.13in;margin-bottom:.13in;">1) Create a baseline snapshot for the machine being used in the test:</p>
<p style="margin-top:.04in;margin-bottom:.04in;line-height:100%;margin-left:40px;"><span style="font-family:Courier New,monospace;"> Dranzer.exe -o baseline.txt -g</span></p>
<p style="margin-top:.13in;margin-bottom:.13in;">2) Install software package</p>
<p style="margin-top:.13in;margin-bottom:.13in;">3) Run Dranzer with the “<span style="font-family:Courier New,monospace;">-d</span>” option to exclude the COM objects in the baseline:</p>
<p style="margin-top:.04in;margin-bottom:.04in;line-height:100%;margin-left:40px;"><span style="font-family:Courier New,monospace;"> Dranzer -d baseline.txt -o myapp_crashie.txt -b</span></p>
<p style="margin-top:.13in;margin-bottom:.13in;">Alternatively, you can execute the <span style="font-family:Courier New,monospace;">alltests.bat</span> script to run all Dranzer tests for COM objects that do not exist in the <span style="font-family:Courier New,monospace;">baseline.txt</span> file. Rather than using the command line listed in step 3, simply run <span style="font-family:Courier New,monospace;">alltests.bat</span>. This will test only the new COM objects that were installed with the software package in step 2. Included in the Dranzer installation are the files <span style="font-family:Courier New,monospace;">xpprosp2.txt</span> and <span style="font-family:Courier New,monospace;">vista.txt</span>. These files contain a list of COM objects that come with Windows XP Professional SP2 and Windows Vista, respectively. You can use these files as a starting point for testing COM objects on a system if you were unable to generate a baseline before installing the software.</p>
<h2>Using input lists</h2>
<p style="margin-top:.13in;margin-bottom:.13in;">The “<span style="font-family:Courier New,monospace;">-i</span>” option can be used if you wish to provide a list of the COM objects that you would like to be tested.</p>
<p style="margin-top:.13in;margin-bottom:.13in;">Example usage:</p>
<p style="margin-top:.04in;margin-bottom:.04in;line-height:100%;"><span style="font-family:Courier New,monospace;"> Dranzer.exe -i mycomobjects.txt -o myobjects_test.txt -t</span></p>
<p style="margin-top:.13in;margin-bottom:.13in;">This command will test the methods of the COM objects listed in the “mycomobjects.txt” input file.</p>
<p><span style="font-family:&quot;"><span style="font-style:italic;"><span style="font-weight:bold;"> </span></span></span></p>
<h2>Using Kill Bit Registry files</h2>
<p style="margin-top:.13in;margin-bottom:.13in;">The “<span style="font-family:Courier New,monospace;">-r</span>” option can be used in combination with any of the Dranzer tests (-t, -p, -s, or -b) if you wish to generate kill bit registry files to prevent Internet Explorer from using controls that Dranzer has found to be defective.</p>
<p style="margin-top:.13in;margin-bottom:.13in;">Example usage:</p>
<p style="margin-top:.04in;margin-bottom:.04in;line-height:100%;"><span style="font-family:Courier New,monospace;"> Dranzer.exe -t -r myobjects_test</span></p>
<p style="margin-top:.13in;margin-bottom:.13in;">This command will test the methods of all COM objects on a system, and any COM object that has failed the methods test will be added to the myobjects_test.reg file. Opening this file will merge the kill bit values into the registry, which will prevent Internet Explorer from using those controls. If you wish to undo the kill bit changes, simply open the &#8220;Undo&#8221; version of the .reg file.  This will revert the kill bit values back to their original state.</p>
<h1>Interpreting the results</h1>
<h2>Class I: (<span style="font-family:Courier New,monospace;">-b</span>)</h2>
<p style="margin-top:.13in;margin-bottom:.13in;">The output file will contain a list of all COM objects that have caused Internet Explorer to crash on their instantiation. The crashes are usually caused by memory access violations.</p>
<p style="margin-top:.13in;margin-bottom:.13in;">As Dranzer encounters COM objects that cause Internet Explorer to crash, it will save HTML files in the current directory. Opening these files in Internet Explorer can help to verify the crashes. The file names will be <span style="font-family:Courier New,monospace;">{GUID}_load.html</span>, where <span style="font-family:Courier New,monospace;">GUID</span> is the identifier for the COM object.</p>
<h2>Class II: (<span style="font-family:Courier New,monospace;">-t</span>, <span style="font-family:Courier New,monospace;">-p</span>, <span style="font-family:Courier New,monospace;">-s</span>)</h2>
<p style="margin-top:.13in;margin-bottom:.13in;">The output file will list all COM objects that have caused Internet Explorer to crash when Dranzer passed unexpected values to their methods. You can see the methods and properties that were accessed prior to the crash. The crashes are usually caused by memory access violations.</p>
<p style="margin-top:.13in;margin-bottom:.13in;">As Dranzer encounters COM objects that cause Internet Explorer to crash as the result of initialization parameters, it will save HTML files in the current directory. Opening these files in Internet Explorer can help to verify the crashes. The file names will be <span style="font-family:Courier New,monospace;">{GUID}_param_pb.html</span> or <span style="font-family:Courier New,monospace;">{GUID}_param_bs.html</span>, depending on which flag was used. Dranzer does not determine the specific parameter that caused the crash but rather includes all possible parameters in the HTML file.</p>
<h2>Detailed crash analysis of COM objects</h2>
<p style="margin-top:.13in;margin-bottom:.13in;">For both Class I and Class II COM object vulnerabilities, any access violation can indicate a vulnerability that an attacker may be able to exploit to execute arbitrary code. As a general rule, the more control an attacker has over the crash, the more likely that an arbitrary code execution vulnerability exists. Dranzer uses lowercase ‘x’ characters to test for buffer overflows, so any time the value “<span style="font-family:Courier New,monospace;">78</span>” is seen in the crash details, it usually indicates an exploitable flaw. In certain circumstances, Dranzer will detect an access violation but will not show details such as memory locations and operation. This situation can happen when the buffer overflow causes the structured exception handler (SEH) to be overwritten. When the SEH is overwritten, Dranzer is not able to trap the access violation and will not be able to display the crash details for the method that caused the buffer overflow. In these cases, the very last method called for a COM object is suspect. When testing fixes for COM objects, Dranzer must be able to test the object without indicating any access violations in the results.</p>
<h1>Dranzer output examples</h1>
<h2>Top-level errors</h2>
<p style="margin-top:.13in;margin-bottom:.13in;">In the Dranzer output, these errors are listed at the beginning of each failed COM object. Possible errors include the following:</p>
<p style="text-indent:.5in;margin-top:.04in;margin-bottom:.04in;line-height:100%;"><span style="font-family:Courier New,monospace;">ERROR &#8211; Access violation (0xc0000005)</span></p>
<p style="margin-top:.13in;margin-bottom:.13in;">This error indicates a crash as the result of accessing an invalid area of memory.</p>
<p style="text-indent:.5in;margin-top:.04in;margin-bottom:.04in;line-height:100%;"><span style="font-family:Courier New,monospace;">ERROR &#8211; Buffer Overrun Fault (0xfffffff3)</span></p>
<p style="margin-top:.13in;margin-bottom:.13in;">This error is usually indicative of a buffer overflow that is caught by Microsoft’s <span style="font-family:Courier New,monospace;">/GS</span> buffer security check. The <span style="font-family:Courier New,monospace;">/GS</span> buffer overflow protection can make it more difficult to exploit the vulnerability. However, depending on what the vulnerable control’s code does, and whether the <span style="font-family:Courier New,monospace;">/SAFESEH</span> flag was used, an attacker can often bypass this protection. Note that Dranzer can produce this error as a false positive if the control uses the same error code for other errors. Also note that Dranzer will not clearly indicate which method caused the buffer overrun fault error code, but it will be the last method or property listed in the Dranzer output.</p>
<p style="text-indent:.5in;margin-top:.04in;margin-bottom:.04in;line-height:100%;"><span style="font-family:Courier New,monospace;">ERROR &#8211; COM Object Exception Occurred (0xfffffff9)</span></p>
<p style="margin-top:.13in;margin-bottom:.13in;">The COM object has generated an exception, which is usually the result of a memory access violation.</p>
<p style="text-indent:.5in;margin-top:.04in;margin-bottom:.04in;line-height:100%;"><span style="font-family:Courier New,monospace;">ERROR &#8211; Internet Explorer Crashed (0xfffffff7)</span></p>
<p style="margin-top:.13in;margin-bottom:.13in;">The HTML test case caused IE to crash. Use the relevant HTML file in the Dranzer directory to reproduce the crash.</p>
<p style="text-indent:.5in;margin-top:.04in;margin-bottom:.04in;line-height:100%;"><span style="font-family:Courier New,monospace;">ERROR &#8211; COM Object Operation Hung (0xffffffff)</span></p>
<p style="margin-top:.13in;margin-bottom:.13in;">The COM object has not responded within the time allowed. Certain COM objects can hang when a web page attempts to use them; others can have specific methods that will cause the hang. With either of these situations, the errors are not normally exploitable, but in certain cases a buffer overflow or other error can cause memory corruption that will lead to a hang. You need to further investigate these errors by testing other input values, if possible, to determine if this is the case.</p>
<h2>Method-level errors</h2>
<p style="margin-top:.13in;margin-bottom:.13in;">In the Dranzer output, Method-level errors are listed for specific methods or properties. The following are example errors:</p>
<p style="margin-left:.5in;margin-top:.04in;margin-bottom:.04in;line-height:100%;"><span style="font-family:Courier New,monospace;">*****************************</span></p>
<p style="margin-left:.5in;margin-top:.04in;margin-bottom:.04in;line-height:100%;"><span style="font-family:Courier New,monospace;">*** Access Violation ***</span></p>
<p style="margin-left:.5in;margin-top:.04in;margin-bottom:.04in;line-height:100%;"><span style="font-family:Courier New,monospace;">*****************************</span></p>
<p style="margin-left:.5in;margin-top:.04in;margin-bottom:.04in;line-height:100%;"><span style="font-family:Courier New,monospace;">Invoked Property Get &#8211; ObjectName::short PropName()</span></p>
<p style="margin-left:.5in;margin-top:.04in;margin-bottom:.04in;line-height:100%;"><span style="font-family:Courier New,monospace;">Access violation at 0&#215;6E205539 :Bad read on 0&#215;00000000</span></p>
<p style="margin-top:.13in;margin-bottom:.13in;">This is a null pointer dereference access violation as the result of attempting to refer to the “PropName” property. It is less likely to be exploitable because of the null pointer and also because the property takes no parameters. However, keep in mind that the Dranzer testing is sequential, so a crash in a specific method or parameter may be the result of the actions that took place before (above) it.</p>
<p style="margin-left:.5in;margin-top:.04in;margin-bottom:.04in;line-height:100%;"><span style="font-family:Courier New,monospace;">*****************************</span></p>
<p style="margin-left:.5in;margin-top:.04in;margin-bottom:.04in;line-height:100%;"><span style="font-family:Courier New,monospace;">*** Access Violation ***</span></p>
<p style="margin-left:.5in;margin-top:.04in;margin-bottom:.04in;line-height:100%;"><span style="font-family:Courier New,monospace;">*****************************</span></p>
<p style="margin-left:.5in;margin-top:.04in;margin-bottom:.04in;line-height:100%;"><span style="font-family:Courier New,monospace;">Invoked Method &#8211; ObjectName::VARIANT_BOOL MethodName()</span></p>
<p style="margin-left:.5in;margin-top:.04in;margin-bottom:.04in;line-height:100%;"><span style="font-family:Courier New,monospace;">Access violation at 0&#215;7C91142E :Bad read on 0&#215;78787878</span></p>
<p style="margin-top:.13in;margin-bottom:.13in;">This indicates that a buffer overflow has taken place, with the memory address being the value specified in a buffer value (lowercase ‘x’ being <span style="font-family:Courier New,monospace;">0&#215;78</span> in ASCII). Depending on what the COM object is doing with the value that is being read from that location, this flaw has a high probability that an attacker can exploit it to execute arbitrary code. Note that this is another case in which the method that triggers the access violation is not the one that accepts user input. The buffer overflow likely took place in a previous parameter or method operation, but what is experienced can be considered a “second-order” flaw because the symptoms of the flaw are not immediately seen.</p>
<p style="margin-left:.5in;margin-top:.04in;margin-bottom:.04in;line-height:100%;"><span style="font-family:Courier New,monospace;">*****************************</span></p>
<p style="margin-left:.5in;margin-top:.04in;margin-bottom:.04in;line-height:100%;"><span style="font-family:Courier New,monospace;">*** Access Violation ***</span></p>
<p style="margin-left:.5in;margin-top:.04in;margin-bottom:.04in;line-height:100%;"><span style="font-family:Courier New,monospace;">*****************************</span></p>
<p style="margin-left:.5in;margin-top:.04in;margin-bottom:.04in;line-height:100%;"><span style="font-family:Courier New,monospace;">Invoked Method &#8211; ObjectName::long MethodName([in] BSTR ParameterName&lt;&#8221;xxxx&#8230;..{10240}&#8221;&gt;)</span></p>
<p style="margin-left:.5in;margin-top:.04in;margin-bottom:.04in;line-height:100%;"><span style="font-family:Courier New,monospace;">Access violation at 0&#215;78787878 :Bad read on 0&#215;78787878</span></p>
<p style="margin-top:.13in;margin-bottom:.13in;">This indicates a buffer overflow vulnerability that is trivially exploitable. Two identical memory addresses indicate that the COM object is trying to execute code at the specified address. In this case, it’s the hex value of the characters in the parameter specified for the method.</p>
<p style="margin-left:.5in;margin-top:.04in;margin-bottom:.04in;line-height:100%;"><span style="font-family:Courier New,monospace;">*****************************</span></p>
<p style="margin-left:.5in;margin-top:.04in;margin-bottom:.04in;line-height:100%;"><span style="font-family:Courier New,monospace;">*** Access Violation ***</span></p>
<p style="margin-left:.5in;margin-top:.04in;margin-bottom:.04in;line-height:100%;"><span style="font-family:Courier New,monospace;">*****************************</span></p>
<p style="margin-left:.5in;margin-top:.04in;margin-bottom:.04in;line-height:100%;"><span style="font-family:Courier New,monospace;">Invoked Property Get &#8211; ObjectName::long PropertyName(long ParameterName&lt;-1&gt;)</span></p>
<p style="margin-left:.5in;margin-top:.04in;margin-bottom:.04in;line-height:100%;"><span style="font-family:Courier New,monospace;">Access violation at 0&#215;6338092E :Bad read on 0xFFFFFFFF</span></p>
<p style="margin-top:.13in;margin-bottom:.13in;">This is an example of a possible integer overflow. Depending on how the memory address can be affected by various parameter values, the flaw may be exploitable.</p>
<p style="margin-top:.13in;margin-bottom:.13in;"><strong>Note:</strong> If there is a top-level error reported, but no method-level violation is present, look at the last method or parameter that Dranzer tested in the output. This last entry is likely the one that caused the SEH to be overwritten or caused <span style="font-family:Courier New,monospace;">/GS</span> protection to trigger. Both of these cases will prevent a method-level violation from being reported. Vulnerabilities in which the SEH is overwritten as the result of a buffer overflow are usually trivially exploitable.</p>
<p style="margin-top:.13in;margin-bottom:.13in;">The behavior where the test process is terminated unexpectedly can cause important flaws to be overlooked. This can happen when a method-level violation is reported, but also the last method tested causes one of the exceptions described above. Dranzer may not report the method-level exception in the output. To work around this situation, use Dranzer to retest COM objects after all reported violations are fixed in the code and pay special attention to the last method listed in Dranzer test reports.</p>
<h2>Class III: (<span style="font-family:Courier New,monospace;">-l</span>)</h2>
<p style="margin-top:.13in;margin-bottom:.13in;">This class of vulnerabilities requires the most analysis to determine if there is a problem. Look for method names that an attacker could leverage. The following are some examples of dangerous methods:</p>
<p style="margin-top:.04in;margin-bottom:.04in;line-height:100%;margin-left:40px;"><span style="font-family:Courier New,monospace;"> ShellExecute(BSTR)</span></p>
<p style="margin-top:.04in;margin-bottom:.04in;line-height:100%;margin-left:40px;"><span style="font-family:Courier New,monospace;"> Reboot()</span></p>
<p style="margin-top:.04in;margin-bottom:.04in;line-height:100%;margin-left:40px;"><span style="font-family:Courier New,monospace;">DownloadFile(BSTR,BSTR)</span></p>
<p style="margin-top:.04in;margin-bottom:.04in;line-height:100%;margin-left:40px;"><span style="font-family:Courier New,monospace;">HttpPOST(BSTR,BSTR,BSTR)</span></p>
<p style="margin-top:.04in;margin-bottom:.04in;line-height:100%;margin-left:40px;"><span style="font-family:Courier New,monospace;"> GetUserName()</span></p>
<p style="margin-top:.13in;margin-bottom:.13in;">If the COM object does not restrict which web addresses can use the methods, attackers may be able to use the COM object to their advantage.</p>
<h1>Other COM fuzzers</h1>
<h2>axfuzz &#8211; &lt;<a title="Linkification: http://sourceforge.net/projects/axfuzz" href="http://sourceforge.net/projects/axfuzz">http://sourceforge.net/projects/axfuzz</a>&gt;</h2>
<p style="margin-top:.13in;margin-bottom:.13in;">axfuzz was the inspiration for creating Dranzer. With the axfuzz package, you must use a combination of the axenum and axfuzz tools to fuzz test an entire system. When the testing tools crash, the tools must manually be restarted at a specific control after the one that caused the crash, and crash details are not included in the reports.</p>
<h2>COMRaider &#8211; &lt;<a title="Linkification: http://labs.idefense.com/labs-software.php?show=20" href="http://labs.idefense.com/labs-software.php?show=20">http://labs.idefense.com/labs-software.php?show=20</a>&gt;</h2>
<p style="margin-top:.13in;margin-bottom:.13in;">COMRaider is a graphical tool for fuzz testing a single COM object. Crash details are included, which can help determine which COM flaws may be exploitable. Due to the program design, a high level of user interaction is required, and the tests take a long time to complete.</p>
<h2>AxMan &#8211; &lt;<a title="Linkification: http://metasploit.com/users/hdm/tools/axman" href="http://metasploit.com/users/hdm/tools/axman">http://metasploit.com/users/hdm/tools/axman</a>&gt;</h2>
<p style="margin-top:.13in;margin-bottom:.13in;">AxMan is a browser-based method fuzz tester. AxMan is designed to fuzz test all of the COM objects installed on a system, and the test process involves multiple steps. Once a crash is encountered, the test process must be manually restarted to begin again using a control that exists in the list after the one that caused the crash. COM objects that display dialogs or present the Internet Explorer information bar will require a user to manually click those items to continue the test process. AxMan does not appear to support Internet Explorer 7.</p>
<h2>COM fuzzer comparison</h2>
<p style="margin-top:.13in;margin-bottom:.13in;">A single COM object that was known to be vulnerable was used to compare the fuzz test tools:</p>
<table style="width:538px;height:521px;" border="0" cellspacing="0" cellpadding="3">
<col width="182"></col>
<col width="97"></col>
<col width="97"></col>
<col width="97"></col>
<col width="97"></col>
<tbody>
<tr valign="top">
<td>
<p style="margin-top:.03in;" lang="en-US">
</td>
<td>
<p style="margin-top:.03in;" lang="en-US" align="center"><strong>Dranzer</strong></p>
</td>
<td>
<p style="margin-top:.03in;" lang="en-US" align="center"><strong>axfuzz</strong></p>
</td>
<td>
<p style="margin-top:.03in;" lang="en-US" align="center"><strong>COMRaider</strong></p>
</td>
<td>
<p style="margin-top:.03in;" lang="en-US" align="center"><strong>AxMan</strong></p>
</td>
</tr>
<tr valign="top">
<td>
<p style="margin-top:.03in;" lang="en-US">Time to test object</p>
</td>
<td style="background-color:#99ff99;">
<p style="margin-top:.03in;" lang="en-US" align="center"><strong>1 sec.</strong></p>
</td>
<td>
<p style="margin-top:.03in;" lang="en-US" align="center">4 sec.</p>
</td>
<td>
<p style="margin-top:.03in;" lang="en-US" align="center">140 sec.</p>
</td>
<td>
<p style="margin-top:.03in;" lang="en-US" align="center">660 sec.</p>
</td>
</tr>
<tr valign="top">
<td>
<p style="margin-top:.03in;" lang="en-US">Exceptions found</p>
</td>
<td style="background-color:#99ff99;">
<p style="margin-top:.03in;" lang="en-US" align="center"><strong>3</strong></p>
</td>
<td>
<p style="margin-top:.03in;" lang="en-US" align="center">2</p>
</td>
<td style="background-color:#99ff99;">
<p style="margin-top:.03in;" lang="en-US" align="center"><strong>3</strong></p>
</td>
<td>
<p style="margin-top:.03in;" lang="en-US" align="center">1</p>
</td>
</tr>
<tr valign="top">
<td>
<p style="margin-top:.03in;" lang="en-US">Vulnerability classes covered:</p>
</td>
<td>
<p style="margin-top:.03in;" lang="en-US" align="center">
</td>
<td>
<p style="margin-top:.03in;" lang="en-US" align="center">
</td>
<td>
<p style="margin-top:.03in;" lang="en-US" align="center">
</td>
<td>
<p style="margin-top:.03in;" lang="en-US" align="center">
</td>
</tr>
<tr valign="top">
<td>
<p style="margin-left:.25in;margin-top:.03in;" lang="en-US">Class I</p>
</td>
<td style="background-color:#99ff99;">
<p style="margin-top:.03in;" lang="en-US" align="center"><strong>Yes</strong></p>
</td>
<td>
<p style="margin-top:.03in;" lang="en-US" align="center">No</p>
</td>
<td>
<p style="margin-top:.03in;" lang="en-US" align="center">No</p>
</td>
<td>
<p style="margin-top:.03in;" lang="en-US" align="center">No</p>
</td>
</tr>
<tr valign="top">
<td>
<p style="margin-left:.25in;margin-top:.03in;" lang="en-US">Class II (methods)</p>
</td>
<td style="background-color:#99ff99;">
<p style="margin-top:.03in;" lang="en-US" align="center"><strong>Yes</strong></p>
</td>
<td style="background-color:#99ff99;">
<p style="margin-top:.03in;" lang="en-US" align="center"><strong>Yes</strong></p>
</td>
<td style="background-color:#99ff99;">
<p style="margin-top:.03in;" lang="en-US" align="center"><strong>Yes</strong></p>
</td>
<td style="background-color:#99ff99;">
<p style="margin-top:.03in;" lang="en-US" align="center"><strong>Yes</strong></p>
</td>
</tr>
<tr valign="top">
<td>
<p style="margin-left:.25in;margin-top:.03in;" lang="en-US">Class II (params)</p>
</td>
<td style="background-color:#99ff99;">
<p style="margin-top:.03in;" lang="en-US" align="center"><strong>Yes</strong></p>
</td>
<td>
<p style="margin-top:.03in;" lang="en-US" align="center">No</p>
</td>
<td>
<p style="margin-top:.03in;" lang="en-US" align="center">No</p>
</td>
<td>
<p style="margin-top:.03in;" lang="en-US" align="center">No</p>
</td>
</tr>
<tr valign="top">
<td>
<p style="margin-left:.25in;margin-top:.03in;" lang="en-US">Class III</p>
</td>
<td style="background-color:#99ff99;">
<p style="margin-top:.03in;" lang="en-US" align="center"><strong>Yes</strong></p>
</td>
<td>
<p style="margin-top:.03in;" lang="en-US" align="center">No</p>
</td>
<td>
<p style="margin-top:.03in;" lang="en-US" align="center">No</p>
</td>
<td>
<p style="margin-top:.03in;" lang="en-US" align="center">No</p>
</td>
</tr>
<tr valign="top">
<td>
<p style="margin-top:.03in;" lang="en-US">Output</p>
</td>
<td>
<p style="margin-top:.03in;" lang="en-US" align="center">Text</p>
</td>
<td>
<p style="margin-top:.03in;" lang="en-US" align="center">Text</p>
</td>
<td style="background-color:#99ff99;">
<p style="margin-top:.03in;" lang="en-US" align="center"><strong>Database</strong></p>
</td>
<td>
<p style="margin-top:.03in;" lang="en-US" align="center">None</p>
</td>
</tr>
<tr valign="top">
<td>
<p style="margin-top:.03in;" lang="en-US">User interaction required</p>
</td>
<td style="background-color:#99ff99;">
<p style="margin-top:.03in;" lang="en-US" align="center"><strong>None</strong></p>
</td>
<td>
<p style="margin-top:.03in;" lang="en-US" align="center">Medium</p>
</td>
<td>
<p style="margin-top:.03in;" lang="en-US" align="center">High</p>
</td>
<td>
<p style="margin-top:.03in;" lang="en-US" align="center">Very high</p>
</td>
</tr>
<tr valign="top">
<td>
<p style="margin-top:.03in;" lang="en-US">Test multiple objects</p>
</td>
<td style="background-color:#99ff99;">
<p style="margin-top:.03in;" lang="en-US" align="center"><strong>Yes</strong></p>
</td>
<td style="background-color:#99ff99;">
<p style="margin-top:.03in;" lang="en-US" align="center"><strong>Yes</strong></p>
</td>
<td style="background-color:#99ff99;">
<p style="margin-top:.03in;" lang="en-US" align="center"><strong>Yes</strong></p>
</td>
<td style="background-color:#99ff99;">
<p style="margin-top:.03in;" lang="en-US" align="center"><strong>Yes</strong></p>
</td>
</tr>
<tr valign="top">
<td>
<p style="margin-top:.03in;" lang="en-US">Test sequences</p>
</td>
<td style="background-color:#99ff99;">
<p style="margin-top:.03in;" lang="en-US" align="center"><strong>Yes</strong></p>
</td>
<td style="background-color:#99ff99;">
<p style="margin-top:.03in;" lang="en-US" align="center"><strong>Yes</strong></p>
</td>
<td>
<p style="margin-top:.03in;" lang="en-US" align="center">No</p>
</td>
<td style="background-color:#99ff99;">
<p style="margin-top:.03in;" lang="en-US" align="center"><strong>Yes</strong></p>
</td>
</tr>
<tr valign="top">
<td>
<p style="margin-top:.03in;" lang="en-US">Crash details reported</p>
</td>
<td style="background-color:#99ff99;">
<p style="margin-top:.03in;" lang="en-US" align="center"><strong>Yes</strong></p>
</td>
<td>
<p style="margin-top:.03in;" lang="en-US" align="center">No</p>
</td>
<td style="background-color:#99ff99;">
<p style="margin-top:.03in;" lang="en-US" align="center"><strong>Yes</strong></p>
</td>
<td>
<p style="margin-top:.03in;" lang="en-US" align="center">No</p>
</td>
</tr>
<tr valign="top">
<td>
<p style="margin-top:.03in;" lang="en-US">Multiple test values</p>
</td>
<td>
<p style="margin-top:.03in;" lang="en-US" align="center">No</p>
</td>
<td>
<p style="margin-top:.03in;" lang="en-US" align="center">No</p>
</td>
<td style="background-color:#99ff99;">
<p style="margin-top:.03in;" lang="en-US" align="center"><strong>Yes</strong></p>
</td>
<td style="background-color:#99ff99;">
<p style="margin-top:.03in;" lang="en-US" align="center"><strong>Yes</strong></p>
</td>
</tr>
<tr valign="top">
<td>
<p style="margin-top:.03in;" lang="en-US">Kill bit protection</p>
</td>
<td style="background-color:#99ff99;">
<p style="margin-top:.03in;" lang="en-US" align="center"><strong>Yes</strong></p>
</td>
<td>
<p style="margin-top:.03in;" lang="en-US" align="center">No</p>
</td>
<td>
<p style="margin-top:.03in;" lang="en-US" align="center">No</p>
</td>
<td>
<p style="margin-top:.03in;" lang="en-US" align="center">No</p>
</td>
</tr>
</tbody>
</table>
<h1>References</h1>
<p style="margin-top:.13in;margin-bottom:.13in;">Microsoft ActiveX security resources:</p>
<ul>
<li>“Designing Secure ActiveX Controls” (<span style="color:#0000ff;"><span style="text-decoration:underline;"><a href="http://msdn.microsoft.com/en-us/library/aa752035.aspx">http://msdn.microsoft.com/en-us/library/aa752035.aspx</a></span></span>)</li>
<li>“ActiveX Security: Improvements and Best Practices” (<span style="color:#0000ff;"><span style="text-decoration:underline;"><a href="http://msdn.microsoft.com/en-us/library/bb250471.aspx">http://msdn.microsoft.com/en-us/library/bb250471.aspx</a></span></span>)</li>
<li>“How to stop an ActiveX control from running in Internet Explorer” (<span style="color:#0000ff;"><span style="text-decoration:underline;"><a href="http://support.microsoft.com/kb/240797">http://support.microsoft.com/kb/240797</a></span></span>)</li>
</ul>
<p style="margin-top:.13in;margin-bottom:.13in;">“Results of the CERT/CC Security in ActiveX Workshop” (<span style="color:#0000ff;"><span style="text-decoration:underline;"><a href="http://www.cert.org/reports/activeX_report.pdf">http://www.cert.org/reports/activeX_report.pdf</a></span></span>)</p>
<p style="margin-top:.13in;margin-bottom:.13in;">Vulnerability notes:</p>
<ul>
<li>“Multiple COM objects cause memory corruption in Microsoft Internet Explorer” (<span style="color:#0000ff;"><span style="text-decoration:underline;"><a href="http://www.kb.cert.org/vuls/id/959049">http://www.kb.cert.org/vuls/id/959049</a></span></span>)</li>
<li>“RealPlayer ActiveX control contains buffer overflow in ‘ShowPreferences’” (<span style="color:#0000ff;"><span style="text-decoration:underline;"><a href="http://www.kb.cert.org/vuls/id/698390">http://www.kb.cert.org/vuls/id/698390</a></span></span>)</li>
<li>“Microsoft Log Sink Class ActiveX control incorrectly marked ‘safe for scripting’” (<span style="color:#0000ff;"><span style="text-decoration:underline;"><a href="http://www.kb.cert.org/vuls/id/165022">http://www.kb.cert.org/vuls/id/165022</a></span></span>)</li>
</ul>
<p style="margin-top:.13in;margin-bottom:.13in;">Other COM fuzzers:</p>
<ul>
<li>axfuzz (<span style="color:#0000ff;"><span style="text-decoration:underline;"><a href="http://sourceforge.net/projects/axfuzz">http://sourceforge.net/projects/axfuzz</a></span></span>)</li>
<li>iDefense Labs Fuzzing Software Tools (<span style="color:#0000ff;"><span style="text-decoration:underline;"><a href="http://labs.idefense.com/software/fuzzing.php#more_comraider">http://labs.idefense.com/software/fuzzing.php#more_comraider</a></span></span>)</li>
<li>AxMan (<span style="color:#0000ff;"><span style="text-decoration:underline;"><a href="http://metasploit.com/users/hdm/tools/axman">http://metasploit.com/users/hdm/tools/axman</a></span></span>)</li>
</ul>
Posted in Web Güvenliği Tagged: activeX, activex güvenlik, activex güvenliği, dranzer, penetration programları, penetration tools, Security Tools, web güven, Web Güvenliği <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fentanyl.wordpress.com/2326/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fentanyl.wordpress.com/2326/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fentanyl.wordpress.com/2326/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fentanyl.wordpress.com/2326/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fentanyl.wordpress.com/2326/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fentanyl.wordpress.com/2326/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fentanyl.wordpress.com/2326/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fentanyl.wordpress.com/2326/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fentanyl.wordpress.com/2326/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fentanyl.wordpress.com/2326/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fentanyl.wordpress.com&blog=961999&post=2326&subd=fentanyl&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://fentanyl.wordpress.com/2009/09/11/dranzer-activex-nesnelerinin-guvenlik-testi-nasil-yapilir/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d956096b59bca9150215c25b234811f0?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fentanyl</media:title>
		</media:content>

		<media:content url="http://fentanyl.files.wordpress.com/2009/09/dranzer.jpg" medium="image">
			<media:title type="html">dranzer</media:title>
		</media:content>
	</item>
		<item>
		<title>Gamja Vulnerability Scanner</title>
		<link>http://fentanyl.wordpress.com/2009/09/11/gamja-vuln-scanner/</link>
		<comments>http://fentanyl.wordpress.com/2009/09/11/gamja-vuln-scanner/#comments</comments>
		<pubDate>Fri, 11 Sep 2009 11:16:31 +0000</pubDate>
		<dc:creator>fentanyl</dc:creator>
				<category><![CDATA[Güvenlik Araçları]]></category>
		<category><![CDATA[açık tarama programı]]></category>
		<category><![CDATA[clbr.fentanyl]]></category>
		<category><![CDATA[fentanyl]]></category>
		<category><![CDATA[Güvenlik]]></category>
		<category><![CDATA[güvenlik araçları]]></category>
		<category><![CDATA[serhat dündar]]></category>
		<category><![CDATA[vulnerability scanner]]></category>
		<category><![CDATA[Web Güvenliği]]></category>

		<guid isPermaLink="false">http://fentanyl.wordpress.com/?p=2318</guid>
		<description><![CDATA[Tanım :
Web application simple validation checking script for webpage
Simple Validation check Scanner &#8211; with all perimeter [ XSS , Validation Error , SQL Injection ...]
gamja v.1.6 &#8211; from screammingCSS+ Paros+ Private skill
Gereklilikler : wget , Perl
* Sisteminizde active perl kurulu olmalı.
* Programa ait dosyaları içeren .rar dosyasını unzip ettikten sonra C:\Perl\bin dizinine atınız.
* Komut satırı [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fentanyl.wordpress.com&blog=961999&post=2318&subd=fentanyl&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><strong>Tanım :</strong></p>
<p>Web application simple validation checking script for webpage<br />
Simple Validation check Scanner &#8211; with all perimeter [ XSS , Validation Error , SQL Injection ...]<br />
gamja v.1.6 &#8211; from screammingCSS+ Paros+ Private skill</p>
<p><strong>Gereklilikler : </strong>wget , Perl</p>
<p>* Sisteminizde active perl kurulu olmalı.</p>
<p>* Programa ait dosyaları içeren .rar dosyasını unzip ettikten sonra C:\Perl\bin dizinine atınız.</p>
<p>* Komut satırı ile dizine inerek gamja.pl dosyasını çalıştırın.</p>
<p><a href="http://fentanyl.files.wordpress.com/2009/09/terraa.jpg"><img class="alignleft size-full wp-image-2320" title="terraa" src="http://fentanyl.files.wordpress.com/2009/09/terraa.jpg?w=600&#038;h=295" alt="terraa" width="600" height="295" /></a>Resim 1 : Komut satırı ve kullanım</p>
<p>Kullanımı usage kısmında belirtildiği şekildedir.</p>
<p>Yeni komut satırı gelene kadar sayfayı kapatmayınız.</p>
<p><strong>Kullanım </strong></p>
<p>&#8220;gamja.pl <a title="Linkification: http://hedefsite" href="http://hedefsite/">http://hedefsite</a>[:port][/baslama/dizini]&#8220;</p>
<p><strong>Detaylı Kullanım </strong></p>
<p>&#8220;gamja.pl -v <a title="Linkification: http://hedefsite" href="http://hedefsite/">http://hedefsite</a>[:port][/baslama/dizini]&#8220;</p>
<p>Tarama sonuçlarını C:\Perl\bin dizini içinde oluşacak 2 adet html dosyasından inceleyebilirsiniz.</p>
<p><a href="http://fentanyl.files.wordpress.com/2009/09/terraa2.jpg"><img class="alignleft size-full wp-image-2321" title="terraa2" src="http://fentanyl.files.wordpress.com/2009/09/terraa2.jpg?w=600&#038;h=239" alt="terraa2" width="600" height="239" /></a></p>
<p><strong>Download</strong></p>
<p><a title="Linkification: http://sourceforge.net/projects/gamja/" href="http://sourceforge.net/projects/gamja/">http://sourceforge.net/projects/gamja/</a></p>
<p><strong>M.Serhat DÜNDAR</strong></p>
Posted in Güvenlik Araçları Tagged: açık tarama programı, clbr.fentanyl, fentanyl, Güvenlik, güvenlik araçları, serhat dündar, vulnerability scanner, Web Güvenliği <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fentanyl.wordpress.com/2318/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fentanyl.wordpress.com/2318/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fentanyl.wordpress.com/2318/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fentanyl.wordpress.com/2318/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fentanyl.wordpress.com/2318/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fentanyl.wordpress.com/2318/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fentanyl.wordpress.com/2318/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fentanyl.wordpress.com/2318/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fentanyl.wordpress.com/2318/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fentanyl.wordpress.com/2318/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fentanyl.wordpress.com&blog=961999&post=2318&subd=fentanyl&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://fentanyl.wordpress.com/2009/09/11/gamja-vuln-scanner/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d956096b59bca9150215c25b234811f0?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fentanyl</media:title>
		</media:content>

		<media:content url="http://fentanyl.files.wordpress.com/2009/09/terraa.jpg" medium="image">
			<media:title type="html">terraa</media:title>
		</media:content>

		<media:content url="http://fentanyl.files.wordpress.com/2009/09/terraa2.jpg" medium="image">
			<media:title type="html">terraa2</media:title>
		</media:content>
	</item>
		<item>
		<title>Güvenli ASP.NET Prodüksiyon Ortamı</title>
		<link>http://fentanyl.wordpress.com/2009/09/08/guvenli-asp-net-produksiyon-ortami/</link>
		<comments>http://fentanyl.wordpress.com/2009/09/08/guvenli-asp-net-produksiyon-ortami/#comments</comments>
		<pubDate>Tue, 08 Sep 2009 15:01:05 +0000</pubDate>
		<dc:creator>fentanyl</dc:creator>
				<category><![CDATA[Web Güvenliği]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[Güvenlik]]></category>
		<category><![CDATA[security tool]]></category>
		<category><![CDATA[wcsa]]></category>
		<category><![CDATA[Web.config]]></category>

		<guid isPermaLink="false">http://fentanyl.wordpress.com/?p=2316</guid>
		<description><![CDATA[
Web Uygulaması Güvenliği
Web uygulaması güvenliği sağlanırken genellikle akıllara ilk gelenler çeşitli kod enjeksiyonu zafiyetleri ve girdi doğrulama temelli yaklaşımlardır. SQL Injection’ı kesmek için parametrik sorgular, XSS’i kesmek için output encoding, LFI &#38; RFI için doğru şekilde girdi doğrulama ve CSRF için de kritik fonksiyonaliteler için token uygulaması.
Oysa dünyanın en güvenli uygulamasını yazmış olsanız dahi, sunucu [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fentanyl.wordpress.com&blog=961999&post=2316&subd=fentanyl&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><span id="ctl00_ContentPlaceHolderIcerik_gridYazi_ctl02_lblIcerik"></p>
<p align="justify"><strong>Web Uygulaması Güvenliği</strong></p>
<p align="justify">Web uygulaması güvenliği sağlanırken genellikle akıllara ilk gelenler çeşitli kod enjeksiyonu zafiyetleri ve girdi doğrulama temelli yaklaşımlardır. SQL Injection’ı kesmek için parametrik sorgular, XSS’i kesmek için output encoding, LFI &amp; RFI için doğru şekilde girdi doğrulama ve CSRF için de kritik fonksiyonaliteler için token uygulaması.</p>
<p align="justify">Oysa dünyanın en güvenli uygulamasını yazmış olsanız dahi, sunucu üzerinde tutulan bir klasörün izinlerini doğru şekilde düzenlemediyseniz , hack’lenmeniz işten bile değil ! Bundan dolayı işin kod kalitesi ile ilgili kısmını düşünürken, konfigürasyonel boyutunu da es geçmemek gerekmektedir.</p>
<p align="justify"><strong>ASP.NET</strong></p>
<p align="justify">Günümüzde web uygulamaları bir çok programlama dili vasıtasıyla yazılabilmekte ve bir çok üretim ortamında çalışabilmektedir. Bu dillerden ve platformlardan önemli bir tanesi ise ASP.NET ‘dir.</p>
<p align="justify">ASP.NET ortamında geliştirilmiş uygulamaların konfigürasyon bilgileri web.config isimli dosyada tutulur.</p>
<p align="justify"><span id="more-2316"></span></p>
<p align="justify"><strong>Web.config</strong></p>
<p align="justify">Söz konusu XML dosyası uygulamanın durum bilgisi, güvenlik konfigürasyonu,  derlenme ayarları ve uygulama-spesifik bilgiler yer alır. Bir web sunucu üzerindeki tüm uygulamalar aynı konfigürasyon dosyasını kullanmak zorunda değillerdir. Farklı uygulamalar için farklı Web.config dosyaları tanımlanabilir.</p>
<p align="justify">İlgili konfigürasyon dosyasındaki ayarların doğru şekilde belirlenmemesi durumlarında çeşitli güvenlik zafiyetleri ortaya çıkabilmektedir.  Kimi güvenlik zafiyeti ise herhangi bir hatalı konfigürasyon beklemeden, varsayılı ayarlarda meydana çıkmaktadır.</p>
<p align="justify">Potansiyel zafiyetlerin bir listesi şu şekildedir:</p>
<p align="justify">• Hata mesajlarından  ve uygulamadan çeşitli şekillerde bilgi sızmaları<br />
• Uygulama ile istemci arasındaki trafiğin ifşası<br />
• Yazılımın saldırganların kontrolüne geçmesi halinde, sunucunun tüm kontrolünün kaybedilmesi<br />
• Oturum ile ilgili konular<br />
o Oturumun manipüle edilmesi<br />
o Oturumun çalınması<br />
o Zaman aşımı olmaması sonucu çalınan çerezin kullanılması<br />
• Web çerezleri ile ilgili konular<br />
o Çerezlerin XSS saldırısı ile çalınması<br />
o Çerezlerin ağ trafiği dinlenilerek çalınması<br />
• İstek hırsızlığı<br />
• Hassas dosyaların ifşası.<br />
• Trafiğin dinlenilmesi<br />
• Web.config içindeki kritik bilgilerin sızdırılması [1]
</p>
<p align="justify">Web.config dosyasının doğru şekilde konfigüre edilmesiyle söz konusu zafiyetlerin bazılarından sonsuza dek, bazılarından ise bir çok durumda korunmak mümkün olacaktır.</p>
<p align="justify">Web.config dosyalarındaki problemlerin otomatik şekilde incelenmesini gerçekleştirmek üzere WCSA (Web.config Security Analyzer) hazırlandı. WCSA kendisine parametre olarak geçilen Web.config dosyalarını inceleyip varolan konfigürasyonel güvenlik problemlerini ortaya çıkarıyor.</p>
<p align="justify">Proje’nin ana sayfası <a href="http://code.google.com/p/wcsa/">http://code.google.com/p/wcsa/</a> olup, download linklerine de erişebilirsiniz.</p>
<p align="justify"><a href="http://fentanyl.files.wordpress.com/2009/09/1mt.jpg"><img class="alignleft size-full wp-image-2314" title="1MT" src="http://fentanyl.files.wordpress.com/2009/09/1mt.jpg?w=548&#038;h=270" alt="1MT" width="548" height="270" /></a></p>
<p align="justify">
<p align="justify">
<p align="justify">
<p align="justify">
<p align="justify">
<p align="justify">
<p align="justify">
<p align="justify">
<p align="justify">
<p align="justify"><span id="ctl00_ContentPlaceHolderIcerik_gridYazi_ctl02_lblIcerik">Çıktı olarak verdiği HTML raporda güvenlik zafiyetleri, zafiyetlerin tanımları, yapılması gereken güvenli konfigürasyon ve referanslar veriliyor.</span></p>
<p align="justify"><a href="http://fentanyl.files.wordpress.com/2009/09/1mt-2.jpg"><img class="alignleft size-full wp-image-2315" title="1MT-2" src="http://fentanyl.files.wordpress.com/2009/09/1mt-2.jpg?w=541&#038;h=308" alt="1MT-2" width="541" height="308" /></a></p>
<p align="justify">
<p align="justify">
<p align="justify">
<p align="justify">
<p align="justify">
<p align="justify">
<p align="justify">
<p align="justify">
<p align="justify">
<p align="justify">
<p align="justify">
<p></span></p>
<p><span id="ctl00_ContentPlaceHolderIcerik_gridYazi_ctl02_lblIcerik"></p>
<p align="justify"><strong>Sonuç</strong></p>
<p align="justify">Güvenlik bir bütün olarak düşünülmelidir. Güvenli web uygulamaları geliştirirken, güvenli kod pratiklerinin uygulanmasının yanında sürecin konfigürasyonel boyutu da göz önünde bulundurulmalıdır.</p>
<p align="justify">http://dergi.webguvenligi.org/websec/7-guvenli-asp-net-produksiyon-ortami.wgt</p>
<p></span></p>
Posted in Web Güvenliği Tagged: ASP.NET, Güvenlik, security tool, wcsa, Web Güvenliği, Web.config <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fentanyl.wordpress.com/2316/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fentanyl.wordpress.com/2316/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fentanyl.wordpress.com/2316/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fentanyl.wordpress.com/2316/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fentanyl.wordpress.com/2316/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fentanyl.wordpress.com/2316/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fentanyl.wordpress.com/2316/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fentanyl.wordpress.com/2316/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fentanyl.wordpress.com/2316/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fentanyl.wordpress.com/2316/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fentanyl.wordpress.com&blog=961999&post=2316&subd=fentanyl&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://fentanyl.wordpress.com/2009/09/08/guvenli-asp-net-produksiyon-ortami/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d956096b59bca9150215c25b234811f0?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fentanyl</media:title>
		</media:content>

		<media:content url="http://fentanyl.files.wordpress.com/2009/09/1mt.jpg" medium="image">
			<media:title type="html">1MT</media:title>
		</media:content>

		<media:content url="http://fentanyl.files.wordpress.com/2009/09/1mt-2.jpg" medium="image">
			<media:title type="html">1MT-2</media:title>
		</media:content>
	</item>
		<item>
		<title>MTTD Script &#8211; Validating Code&amp;Penetration Testing&amp;Translating</title>
		<link>http://fentanyl.wordpress.com/2009/08/29/mttd-script-validating-codepenetration-testingtranslating/</link>
		<comments>http://fentanyl.wordpress.com/2009/08/29/mttd-script-validating-codepenetration-testingtranslating/#comments</comments>
		<pubDate>Sat, 29 Aug 2009 02:18:12 +0000</pubDate>
		<dc:creator>fentanyl</dc:creator>
				<category><![CDATA[Blogroll]]></category>

		<guid isPermaLink="false">http://fentanyl.wordpress.com/?p=2311</guid>
		<description><![CDATA[Şimdilik sadece MTTD olarak yazacağım bu scripti. Çünkü pek duyulmamış bir script ve bulana kadar ömrümden ömür gitti (: Hemde özgür domainimle açacağım sitemde kullanacağım için süpriz olsun istiyorum.
Tam aradığım özellikleri içeren 324kb.&#8217;cık bi script. Kod yazarı Rus. Kendisine teşekkür mailimi attım ve türkçe tercümesini de yarın kendisine teşekkür mahiyetinde (vouw :) yollayacağımı bildirdim.
Validating işlemini [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fentanyl.wordpress.com&blog=961999&post=2311&subd=fentanyl&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Şimdilik sadece MTTD olarak yazacağım bu scripti. Çünkü pek duyulmamış bir script ve bulana kadar ömrümden ömür gitti (: Hemde özgür domainimle açacağım sitemde kullanacağım için süpriz olsun istiyorum.</p>
<p>Tam aradığım özellikleri içeren 324kb.&#8217;cık bi script. Kod yazarı Rus. Kendisine teşekkür mailimi attım ve türkçe tercümesini de yarın kendisine teşekkür mahiyetinde (vouw :) yollayacağımı bildirdim.</p>
<p>Validating işlemini tamamen bitirdim. Rus arkadaş baya bi yetenekliymiş.</p>
<p>Penetration Test kısmında şimdilik güvendiğim yazılımlardan olan Syhunt firmasının Sandcat&#8217;i ile script üzerinde bi kaç tarama yaptım :</p>
<p>ajax.lang.php, ajax.php dosyalarında XSS açıkları yaratması muhtemel satırlar bulundu.</p>
<p>Yine veritabanı bağlantı dosyalarında İnjection yaratması muhtemel satırlar bulundu.</p>
<p>** Sandcat&#8217;in paranoyak yapısını unutmamak lazım. Bütün $Post $Get $Sesion $Cookie karakterleri, echo komutu ve daha bir çoğu muhtemel tehlike onun için (:</p>
<p>Şuan oldukça uykulu olduğum için sandcat&#8217;i ve diğer frameworkleri kapatıp tüm işleri yarına bırakıyorum.</p>
<p>Saati yine 05.17 yaptım..</p>
Posted in Blogroll  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fentanyl.wordpress.com/2311/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fentanyl.wordpress.com/2311/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fentanyl.wordpress.com/2311/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fentanyl.wordpress.com/2311/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fentanyl.wordpress.com/2311/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fentanyl.wordpress.com/2311/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fentanyl.wordpress.com/2311/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fentanyl.wordpress.com/2311/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fentanyl.wordpress.com/2311/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fentanyl.wordpress.com/2311/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fentanyl.wordpress.com&blog=961999&post=2311&subd=fentanyl&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://fentanyl.wordpress.com/2009/08/29/mttd-script-validating-codepenetration-testingtranslating/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d956096b59bca9150215c25b234811f0?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fentanyl</media:title>
		</media:content>
	</item>
		<item>
		<title>Web Açıklık Tarayıcıları &#8211; Bölüm 1</title>
		<link>http://fentanyl.wordpress.com/2009/08/28/web-aciklik-tarayicilari-bolum-1-2/</link>
		<comments>http://fentanyl.wordpress.com/2009/08/28/web-aciklik-tarayicilari-bolum-1-2/#comments</comments>
		<pubDate>Fri, 28 Aug 2009 17:46:29 +0000</pubDate>
		<dc:creator>fentanyl</dc:creator>
				<category><![CDATA[Web Güvenliği]]></category>
		<category><![CDATA[Güvenlik]]></category>
		<category><![CDATA[Sql injection]]></category>
		<category><![CDATA[WAT]]></category>
		<category><![CDATA[XSS]]></category>

		<guid isPermaLink="false">http://fentanyl.wordpress.com/?p=2290</guid>
		<description><![CDATA[Web uygulamalarında bulunan güvenlik zafiyetlerinin taşıdığı riskler, bu açıklıkları, günümüz siber güvenlik anlayışının en önemli konularından biri (belki de en önemlisi) haline getirmiştir. İstatistiklere göre her 10 web sitesinden 9’unda ciddi seviyede bir açıklığın olmasının yanında siber saldırıların %60’ından fazlasının web teknolojilerine yönelik gerçekleştirilmesi bu önemin açık bir nedenidir [1].
İki bölümden oluşacak bu yazının ilk [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fentanyl.wordpress.com&blog=961999&post=2290&subd=fentanyl&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Web uygulamalarında bulunan güvenlik zafiyetlerinin taşıdığı riskler, bu açıklıkları, günümüz siber güvenlik anlayışının en önemli konularından biri (belki de en önemlisi) haline getirmiştir. İstatistiklere göre her 10 web sitesinden 9’unda ciddi seviyede bir açıklığın olmasının yanında siber saldırıların %60’ından fazlasının web teknolojilerine yönelik gerçekleştirilmesi bu önemin açık bir nedenidir [1].</p>
<p>İki bölümden oluşacak bu yazının ilk bölümü, otomatik web zafiyet tarayıcılarının genellikle ilk fazı olan girdi noktası bulma algoritmaları ve etkinlikleri üzerine olacaktır.</p>
<p>Web uygulamalarında bulunan açıklıklar; SQL enjeksiyonu, XSS, yetersiz hata yönetimi, CSRF gibi sadece yazılımsal veya standartlarda bulunan dizayn tabanlı hatalar olmayıp, yönetimsel ve mantıksal hataları da içermektedir.</p>
<p>Bu yazılımlardaki güvenlik problemlerinin bulunması, düzeltilmelerindeki en önemli adımdır. Bu adımı gerçeklemek adına üç önemli yöntem; elle yapılan testler, web uygulama açıklık tarayıcıları, statik/dinamik kod analiz araçlarıdır. Ancak bilinmelidir ki, yazılımlarda bulunan risk seviyesi yüksek zafiyetlerin açığa çıkarılması sadece tek bir yöntemle mümkün veya uygulanabilir değildir. Bu nedenle kapsamlı bir risk haritası için her üç yönetimin de elden geldiğince uygulanması gerekir.</p>
<p>Otomatik web açıklık tarayıcılarının (WAT) kapsayıcı ve zaman açısından etkin olmaları, web güvenlik risk haritasının çıkarılmasında çok önemlidir. WAT çalışma süreçlerinin birçok safhası vardır ama işleyişleri genel olarak ikiye ayrılır; girdi keşfi ve zafiyet analizi.<br />
<span id="more-2290"></span>Girdi noktaları web uygulamalarının çalışma prensibinin en önemli parçalarıdır. Ne de olsa, interaktiflik bu etkileşim üzerine kurulmuştur; etki ve tepki, istek ve cevap. İşte bu nedenle birçok güvenlik problemi de bu modellemede girdi denetiminin yetersiz kalmasından kaynaklanmaktadır. Web uygulamalarında girdi noktaları HTTP protokolündeki istek mesajlarının her parçasından oluşabildiği gibi (URL, HTTP başlıkları, HTTP gövdesi, v.b.) farklı protokollerdeki (RMI, JNLP v.b.) veya alt-protokollerdeki (Flash Remoting, SOAP, v.b.) parçalar da bu kategoriye girmektedir.</p>
<p>Girdi keşfi sırasında WAT’lar, mümkün olabildiğince fazla girdi noktası bulmaya çalışırlar. Çünkü bu fazda ne kadar fazla girdi noktası bulunursa ikinci fazda (bu fazlar her zaman art arda işlemek zorunda değildir) bir o kadar zafiyet bulma şansı doğacaktır. WAT’lar genellikle “berbatometre” olarak adlandırılmaktadırlar; yani üzerinde analiz yaptıkları uygulamanın ne kadar kötü olduğunu söyleme yetisi. Çünkü WAT&#8217;ların bir uygulamanın güvenlik açısından ne kadar kaliteli yazıldığı sonucuna varabilmeleri, risk seviyesi yüksek açıkların oranı ve bu araçların kabiliyetleri düşünüldüğünde (en azından şimdilik) mümkün değildir. Örnek olarak; yapısal bir problem olan XSS açıklıklarını bulma konusunda iyi bir iş yapan WAT’lar, yetersiz yetkilendirme konusunda sınıfta kalmaktadırlar. Başarılı oldukları iş olan yapısal problemleri bulmak, dolayısıyla ilk faz (girdi noktası keşfi)  yani saldırı yüzeyini arttırmak bu açıdan WAT’lar için hayati önem taşır.</p>
<p>2002 ve 2003 yıllarından başlamak suretiyle özellikle istemci tarafındaki teknoloji karmaşıklığının artması (Web 2.0) ile beraber ilk fazın kapsamlı olarak gerçeklenmesi büyük bir problem olarak karşımıza çıkmaktadır. Klasik HTML yapılarının (form, a, frame, iframe HTML elementleri) yanında ağır Javascript ve Flash gibi diğer standartların da kullanılması yaygınlaştıkça WAT statik parserların web sayfalarındaki girdi noktalarını bulmaları oldukça zorlaşmıştır. Bu konuda örnek vermek gerekirse, Web 1.0 veya 1.5 olarak adlandırılan web sayfalarında</p>
<p>…</p>
<p>&lt;a href=”/satinal.do?deger=5&amp;d=3453667&amp;tür=cd”&gt;satın al&lt;/a&gt;</p>
<p>…</p>
<p>türünde yapılar bulmak yaygınken AJAX ve ağır Javascript kullanımıyla yukarıdaki örnek ile aynı işi yapan aşağıdaki yapılar görülmeye başlanmıştır.</p>
<p>…</p>
<p>&lt;script type=&#8221;text/javascript&#8221;&gt;</p>
<p>$(&#8220;span#satinal&#8221;).click(function(){SALELIB. doSale($(&#8216;activeitem&#8217;).id)});</p>
<p>&lt;/script&gt;</p>
<p>…</p>
<p>…</p>
<p>&lt;span id=”satinal”&gt;satın al&lt;/span&gt;</p>
<p>…</p>
<p>Bu örnek bile klasik bir parserın ilgili girdi noktasını (/satinal.do? deger=5&amp;d=3453667&amp;tür=cd) bulma becerisini sorgulamaya yetmektedir.  Bu noktada yaygın olarak kullanılan WAT’lar statik parser anlayışından sıyrılmış dinamik bir duruşu uygulamaya koymuşlardır. Dinamik girdi noktası bulma işi, WAT parserının aynı bir tarayıcı (browser) gibi davranıp içinde bulunduğu kodu (Flash,  Javascript) sanki normal bir kullanıcı kullanıyormuş gibi çalıştırmasından ibarettir. Tabi ki, diğer bazı kısa yollar (heuristics) da bu işin içindedir ancak çalıştırıp sonucunu yakalamak giderek karmaşıklaşan istemci taraflı kodlar için şimdilik en mantıklı ve kısa yol gibi durmaktadır.</p>
<p>Güvenlik testlerinin en önemli parçalarından biri (bulma, sınıflandırma, risk hesaplamasını yapma, yazılı hale getirme ve gidermenin yanında) ölçülebilir olmasıdır. Aynı şekilde teknolojilerin de kriterler ve standartlar yardımı ile karşılaştırmalarının yapılması ve kalitelerinin ölçülmesi gerekmektedir. Kalite kontrol ve temel bir PHP web uygulaması olan WIVET, WAT’ların faz 1 etkinliğini ölçmek amacı ile yazılmıştır. Bir çok girdi noktası sınıfından oluşan WIVET, üzerine koşulan WAT uygulamasının girdi noktalarını bulmasını bekler (Şekil 1).</p>
<p><a href="http://fentanyl.files.wordpress.com/2009/08/wivet1.gif"><img class="alignleft size-medium wp-image-2291" title="wivet1" src="http://fentanyl.files.wordpress.com/2009/08/wivet1.gif?w=300&#038;h=195" alt="wivet1" width="300" height="195" /></a></p>
<p>Şekil 1 WAT girdi noktası bulma karşılaştırması için WIVET web arayüzü</p>
<p>Ayrıca bu bulma ve çıkarma işlemi sırasında ve sonucunda kapsama alanını (coverage) canlı bir şekilde gösterir (Şekil 2).</p>
<p><a href="http://fentanyl.files.wordpress.com/2009/08/wivet2.gif"><img class="alignleft size-full wp-image-2292" title="wivet2" src="http://fentanyl.files.wordpress.com/2009/08/wivet2.gif?w=600&#038;h=391" alt="wivet2" width="600" height="391" /></a></p>
<div style="text-align:center;"><span>Şekil 2 WIVET kapsama alanı ve bulunan linklerin gösterilmesi</span></div>
<p><a title="WIVET" href="http://www.webguvenligi.org/wivet" target="_blank">WIVET</a>&#8216;in bazı açık kaynak kodlu ve ticari WAT&#8217;lara ve link çıkarıcılara uygulanması sonucu elde edilmiş matrix Şekil 3&#8242;te gösterilmektedir.</p>
<p><a href="http://fentanyl.files.wordpress.com/2009/08/wivet4.gif"><img class="alignleft size-full wp-image-2293" title="wivet4" src="http://fentanyl.files.wordpress.com/2009/08/wivet4.gif?w=282&#038;h=241" alt="wivet4" width="282" height="241" /></a></p>
<p>Şekil 3 WIVET karşılaştırma kısmi sonuçları</p>
<p>Genel olarak WAT&#8217;ların hangi noktalarda takıldığını belirtmek gerekirse;</p>
<p><strong>1. javascript kullanarak a href /iframe oluşturma:</strong></p>
<p>&#8230;</p>
<p>var container = document.getElementById(&#8220;container&#8221;);</p>
<p><strong> var alink = document.createElement(&#8220;a&#8221;); </strong></p>
<p><strong> alink.href = &#8220;../innerpages/1_1.php&#8221;; </strong></p>
<p>alink.innerHTML = &#8220;click me&#8221;;</p>
<p>container.appendChild(alink);</p>
<p>&#8230;</p>
<p><strong> var diframe = createElement(&#8220;iframe&#8221;); </strong></p>
<p><strong> diframe.src = &#8220;../innerpages/12_3.php&#8221;; </strong></p>
<p>body.appendChild(diframe);</p>
<p>&#8230;</p>
<p><strong>2.  javascript onay:</strong></p>
<p>…</p>
<p>function searchMe(){</p>
<p><strong> alert(&#8220;confirm?&#8221;);</strong></p>
<p>var searchcontainerifr = document.getElementById(&#8220;searchcontainer&#8221;);</p>
<p>var enginesel = document.getElementById(&#8220;engine&#8221;);</p>
<p>searchcontainerifr.src = enginesel.options[enginesel.selectedIndex].value;</p>
<p>}</p>
<p>…</p>
<p><strong>3. meta refresh:</strong></p>
<p>…</p>
<p>&lt;meta http-equiv=Refresh content=&#8221;5; URL=../innerpages/14_1.php&#8221;&gt;</p>
<p>…</p>
<p><strong>4. HTTP 302 cevap içeriği:</strong></p>
<p>HTTP/1.1 302 Found</p>
<p>Date: Sat, 06 Dec 2007 17:58:46 GMT</p>
<p>Server: Apache</p>
<p>Expires: Thu, 19 Nov 1981 08:52:00 GMT</p>
<p>Pragma: no-cache</p>
<p>Location: ../innerpages/16_1.php</p>
<p>Content-Length: 69</p>
<p>Content-Type: text/html</p>
<p><strong>This page has moved to &lt;a href=&#8221;../innerpages/16_2.php&#8221;&gt;HERE :)&lt;/a&gt;</strong></p>
<p><strong>5. XHR (AJAX) meşgul modu:</strong></p>
<p>function doxhr(phpname){</p>
<p>if(!busy){</p>
<p>AjaxObject.startRequest(formURL(phpname));</p>
<p>busy = 1;</p>
<p>}</p>
<p>else</p>
<p><strong>alert(&#8216;not so fast, one request at a time old sport&#8217;);</strong></p>
<p>}</p>
<p><strong>6. Linklenmeyen linkler ve (özellikle AS3 ile yazılan) SWF dosyaları içindeki linkler.</strong></p>
<h3>Sonuç</h3>
<p>AJAX akımı ile beraber oluşturulan istemci taraflı kütüphaneler her ne kadar hem geliştirmeyi hem de kullanıcı kullanışlığını önemli ölçüde kolaylaştırsa ve eğlenceli hale getirse de, (HTTP) trafik karmaşıklığı ile hem manuel hem de otomatik testlerde işleri zorlaştırmıştır. Bu teknolojiler ile beraber açıklık tipleri çok değişmemiştir ama bu açıklıkları bulmak eskisinden kolay değildir. Otomatik web açıklık tarayıcılar (WAT) test yüzeylerini arttırabilmek için text tabanlı parserlar yerine artık istemci taraflı kodu koşarak (kullanıcıyı simule ederek) dinamik parserlar kullanmaya başlamışlardır. Her ne kadar dinamik tabanlı parserlar iyi iş çıkarsalar bile, çoğu durumda olduğu gibi girdi noktası bulmakta da elle yapılan testlerden iyi ve kapsamlı değildirler. Ancak WAT’lar zaman ve iş gücü değerlendirildiğinde bulunmaz yardımcılardır.</p>
<h3>Referanslar</h3>
<p>[1] <a title="Linkification: http://www.whitehatsec.com/home/assets/presentations/PPTstats032608.pdf" href="http://www.whitehatsec.com/home/assets/presentations/PPTstats032608.pdf">http://www.whitehatsec.com/home/assets/presentations/PPTstats032608.pdf</a></p>
<p><a class="linkification-ext" title="Linkification: http://www.bilgiguvenligi.gov.tr/teknik-yazilar-kategorisi/web-aciklik-tarayicilari-bolum-1.html" href="http://www.bilgiguvenligi.gov.tr/teknik-yazilar-kategorisi/web-aciklik-tarayicilari-bolum-1.html">http://www.bilgiguvenligi.gov.tr/teknik-yazilar-kategorisi/web-aciklik-tarayicilari-bolum-1.html</a></p>
Posted in Web Güvenliği Tagged: Güvenlik, Sql injection, WAT, Web Güvenliği, XSS <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fentanyl.wordpress.com/2290/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fentanyl.wordpress.com/2290/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fentanyl.wordpress.com/2290/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fentanyl.wordpress.com/2290/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fentanyl.wordpress.com/2290/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fentanyl.wordpress.com/2290/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fentanyl.wordpress.com/2290/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fentanyl.wordpress.com/2290/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fentanyl.wordpress.com/2290/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fentanyl.wordpress.com/2290/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fentanyl.wordpress.com&blog=961999&post=2290&subd=fentanyl&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://fentanyl.wordpress.com/2009/08/28/web-aciklik-tarayicilari-bolum-1-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d956096b59bca9150215c25b234811f0?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fentanyl</media:title>
		</media:content>

		<media:content url="http://fentanyl.files.wordpress.com/2009/08/wivet1.gif?w=300" medium="image">
			<media:title type="html">wivet1</media:title>
		</media:content>

		<media:content url="http://fentanyl.files.wordpress.com/2009/08/wivet2.gif" medium="image">
			<media:title type="html">wivet2</media:title>
		</media:content>

		<media:content url="http://fentanyl.files.wordpress.com/2009/08/wivet4.gif" medium="image">
			<media:title type="html">wivet4</media:title>
		</media:content>
	</item>
		<item>
		<title>Fuzz Testing</title>
		<link>http://fentanyl.wordpress.com/2009/08/28/fuzz-testing/</link>
		<comments>http://fentanyl.wordpress.com/2009/08/28/fuzz-testing/#comments</comments>
		<pubDate>Fri, 28 Aug 2009 17:14:39 +0000</pubDate>
		<dc:creator>fentanyl</dc:creator>
				<category><![CDATA[Web Güvenliği]]></category>
		<category><![CDATA[fm-fsf]]></category>
		<category><![CDATA[fuzz testing]]></category>
		<category><![CDATA[fuzzer]]></category>
		<category><![CDATA[fuzzing]]></category>
		<category><![CDATA[Güvenlik]]></category>
		<category><![CDATA[webslayer]]></category>

		<guid isPermaLink="false">http://fentanyl.wordpress.com/?p=2299</guid>
		<description><![CDATA[
Bu yazımızda uygulama test tekniklerinden birisi olan fuzz testing (fuzzing) tekniğini ve web uygulamalarına nasıl uygulanabileceğini göreceğiz.


Fuzz Testing (Fuzzing)
Bir uygulamada zafiyet tespit edebilmek için uygulamaya rastgele veriler göndererek, uygulamanın farklı isteklere verdiği cevapları analiz etmek isteyebiliriz. Bu rastgele veri gönderme işlemine fuzzing (fuzz testing), bu işlemi yapmaya yarayan araçlara ise fuzzer denilmektedir.
Fuzz testing; test yapılacak [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fentanyl.wordpress.com&blog=961999&post=2299&subd=fentanyl&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><span id="ctl00_ContentPlaceHolderIcerik_gridYazi_ctl02_lblAciklama"></p>
<p align="justify">Bu yazımızda uygulama test tekniklerinden birisi olan fuzz testing (fuzzing) tekniğini ve web uygulamalarına nasıl uygulanabileceğini göreceğiz.</p>
<p></span></p>
<hr /><span id="ctl00_ContentPlaceHolderIcerik_gridYazi_ctl02_lblIcerik"></p>
<p align="justify"><strong>Fuzz Testing (Fuzzing)</strong></p>
<p align="justify">Bir uygulamada zafiyet tespit edebilmek için uygulamaya rastgele veriler göndererek, uygulamanın farklı isteklere verdiği cevapları analiz etmek isteyebiliriz. Bu rastgele veri gönderme işlemine fuzzing (fuzz testing), bu işlemi yapmaya yarayan araçlara ise fuzzer denilmektedir.</p>
<p align="justify">Fuzz testing; test yapılacak uygulamanın arka planında ki işlevsel ve yazılımsal özellikler bilinmediğinden ve gönderilen verilerin uygulamada oluşturduğu etki ve sonuçların analizine dayandığından, uygulama test tekniklerinden black-box kategorisine girmektedir [1,2].</p>
<p align="justify"><a href="http://fentanyl.files.wordpress.com/2009/08/1oy.png"><img class="alignleft size-full wp-image-2296" title="1OY" src="http://fentanyl.files.wordpress.com/2009/08/1oy.png?w=315&#038;h=55" alt="1OY" width="315" height="55" /></a></p>
<p align="justify">
<p align="justify">
<p><span id="ctl00_ContentPlaceHolderIcerik_gridYazi_ctl02_lblIcerik"></p>
<p align="justify">Fuzz testing; yazılım geliştirme ve test süreçlerinde ve ters mühendislik işlemlerinde kullanıldığı gibi, web uygulamalarında zayıflık tespiti veya bilgi toplama amaçlı da kullanılmaktadır. Web uygulamaları için geliştirilmiş olan fuzzing araçlarını (fuzzer) iki kategoride inceleyebiliriz [3];</p>
<p align="justify"><span id="more-2299"></span></p>
<ul>
<li>
<div>Recursive Fuzzing: &#8216;Yinelemeli fuzzing&#8217; olarakta adlandırabileceğimiz bu teknikte, belirlenmiş karakterler fuzzer aracılığıyla kombinasyonel veriler halinde gönderilecektir. Örneğin; {3,9,6,1) şeklinde belirlediğimiz karakterler;</div>
</li>
</ul>
<ul>
<li>
<ul>
<li>
<div>?id=3961, ?id=3916, &#8230;.., ?id=1693 yinelenerek gönderilecek ve her bir dönen sonuç incelenecektir.</div>
</li>
</ul>
</li>
</ul>
<ul>
<li>
<div>Replacive Fuzzing: &#8216;Değiştirmeli fuzzing&#8217; olarakta adlandırabileceğimiz bu teknikte ise, seçilmiş değerin / parametrenin değiştirilerek gönderilmesi esastır.</div>
</li>
</ul>
<p align="justify">Fuzz Testing konusunda detaylı bilgiye farklı [4] kaynaklardan erişebilirsiniz. Şimdi web uygulamaları için geliştirilmiş olan fuzzer`lara göz atalım [5].</p>
<p align="justify"><strong>Ferruh Mavituna&#8217;s Freakin&#8217; Simple Fuzzer (FM-FSF)</strong></p>
<p align="justify">Ferruh Mavituna tarafından geliştirilen Freakin&#8217; Simple Fuzzer (FSF) [6]; web uygulamaları için fuzz testing ve veri toplama işlevlerini yapabilmektedir. Temel düzeyde fuzzing işlemleri ve belirtilen düzenli ifadeye göre veri toplama işlemi yapabilen FSF, plugin yapısını desteklemektedir.</p>
<p align="justify">VB.NET ile geliştirilen FSF`i, .NET Framework 3.5 (Windows) ve Mono (OSX ve Linux) sistemlerinde çalıştırabilirsiniz. Kurulumu ve kullanımının çok basit olması nedeniyle tercih edebileceğiniz FSF`in kullanım detaylarına proje sayfasından erişebilirsiniz [7].</p>
<p align="justify"><strong>WebSlayer</strong></p>
<p align="justify">OWASP WebSlayer projesinin ürünü olan WebSlayer [8]; web uygulamaları için hazırlanmış bir fuzz testing ve brute-force uygulamasıdır. WebSlayer ile;</p>
<ul>
<li>Dosya ve klasör tespiti,</li>
<li>Login formlarına brute-force,</li>
<li>Oturumlara brute-force,</li>
<li>Parametrelere brute-force,</li>
<li>XSS ve SQL Injection tespiti ve</li>
<li>Authentication`lara yönelik brute-force atakları düzenlemek mümkündür.</li>
</ul>
<p align="justify">WebSlayer`ın bünyesinde barındırdığı özellikler ise;</p>
<ul>
<li>
<div>Encoding desteği,</div>
</li>
<li>
<div>Get, post ve header`lara yönelik ataklar,</div>
</li>
<li>
<div>Authentication desteği,</div>
</li>
<li>
<div>Payload desteği,</div>
</li>
<li>
<div>Proxy desteğiyle gizlilik,</div>
</li>
<li>
<div>Filtreleme,</div>
</li>
<li>
<div>Multi Threading olarak sıralanabilir.</div>
</li>
</ul>
<p align="justify">WebSlayer ile alakalı detaylı bilgilere proje sayfasından ulaşabileceğiniz gibi [9], belirlenen parametreye seçilen wordlist`teki değerleri post etmek için gerekli temel konfigürasyonları ve test sonuçlarını da görebilirsiniz.</p>
<p align="justify"><a href="http://fentanyl.files.wordpress.com/2009/08/1oy-2.jpg"><img class="alignleft size-full wp-image-2297" title="1OY-2" src="http://fentanyl.files.wordpress.com/2009/08/1oy-2.jpg?w=504&#038;h=402" alt="1OY-2" width="504" height="402" /></a></p>
<p align="justify">
<p align="justify">
<p align="justify">
<p align="justify">
<p align="justify">
<p align="justify">
<p align="justify">
<p align="justify">
<p align="justify">
<p align="justify">
<p align="justify">
<p align="justify">
<p align="justify">
<p align="justify"><span id="ctl00_ContentPlaceHolderIcerik_gridYazi_ctl02_lblIcerik">Şekil -1: Konfigürasyon</span></p>
<p align="justify"><span><a href="http://fentanyl.files.wordpress.com/2009/08/1oy-3.jpg"><img class="alignleft size-full wp-image-2298" title="1OY-3" src="http://fentanyl.files.wordpress.com/2009/08/1oy-3.jpg?w=504&#038;h=401" alt="1OY-3" width="504" height="401" /></a></span></p>
<p align="justify">
<p align="justify">
<p align="justify">
<p align="justify">
<p align="justify">
<p align="justify">
<p align="justify">
<p align="justify">
<p align="justify">
<p align="justify">
<p align="justify">
<p align="justify">
<p align="justify">
<p><span id="ctl00_ContentPlaceHolderIcerik_gridYazi_ctl02_lblIcerik"></p>
<p align="center">Şekil &#8211; 2: Dönen Sonuçlar</p>
<p align="justify"><strong>Referanslar</strong></p>
<p align="justify">[1] <a href="http://en.wikipedia.org/wiki/Black-box_testing">http://en.wikipedia.org/wiki/Black-box_testing</a><br />
[2] <a href="http://docs.google.com/View?id=d4w2g9c_5hc6m7vgj">http://docs.google.com/View?id=d4w2g9c_5hc6m7vgj</a><br />
[3] <a href="http://www.owasp.org/index.php/OWASP_Testing_Guide_Appendix_C:_Fuzz_Vectors">http://www.owasp.org/index.php/OWASP_Testing_Guide_Appendix_C:_Fuzz_Vectors</a><br />
[4] <a href="http://www.informit.com/store/product.aspx?isbn=0321446119">http://www.informit.com/store/product.aspx?isbn=0321446119</a><br />
[5] <a href="http://www.dragoslungu.com/2007/05/12/my-favorite-10-web-application-security-fuzzing-tools/">http://www.dragoslungu.com/2007/05/12/my-favorite-10-web-application-security-fuzzing-tools/</a><br />
[6] <a href="http://code.google.com/p/fm-fsf/">http://code.google.com/p/fm-fsf/</a><br />
[7] <a href="http://code.google.com/p/fm-fsf/w/list">http://code.google.com/p/fm-fsf/w/list</a><br />
[8] <a href="http://code.google.com/p/webslayer/downloads/list">http://code.google.com/p/webslayer/downloads/list</a><br />
[9] <a href="http://www.owasp.org/index.php/Category:OWASP_Webslayer_Project">http://www.owasp.org/index.php/Category:OWASP_Webslayer_Project</a>
</p>
<p align="justify">http://dergi.webguvenligi.org/websec/8-fuzz-testing.wgt</p>
<p align="justify">
<p></span></span></span></p>
Posted in Web Güvenliği Tagged: fm-fsf, fuzz testing, fuzzer, fuzzing, Güvenlik, Web Güvenliği, webslayer <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fentanyl.wordpress.com/2299/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fentanyl.wordpress.com/2299/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fentanyl.wordpress.com/2299/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fentanyl.wordpress.com/2299/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fentanyl.wordpress.com/2299/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fentanyl.wordpress.com/2299/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fentanyl.wordpress.com/2299/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fentanyl.wordpress.com/2299/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fentanyl.wordpress.com/2299/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fentanyl.wordpress.com/2299/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fentanyl.wordpress.com&blog=961999&post=2299&subd=fentanyl&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://fentanyl.wordpress.com/2009/08/28/fuzz-testing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d956096b59bca9150215c25b234811f0?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fentanyl</media:title>
		</media:content>

		<media:content url="http://fentanyl.files.wordpress.com/2009/08/1oy.png" medium="image">
			<media:title type="html">1OY</media:title>
		</media:content>

		<media:content url="http://fentanyl.files.wordpress.com/2009/08/1oy-2.jpg" medium="image">
			<media:title type="html">1OY-2</media:title>
		</media:content>

		<media:content url="http://fentanyl.files.wordpress.com/2009/08/1oy-3.jpg" medium="image">
			<media:title type="html">1OY-3</media:title>
		</media:content>
	</item>
		<item>
		<title>Web Açıklık Tarayıcıları &#8211; Bölüm 2</title>
		<link>http://fentanyl.wordpress.com/2009/08/28/web-aciklik-tarayicilari-bolum-2/</link>
		<comments>http://fentanyl.wordpress.com/2009/08/28/web-aciklik-tarayicilari-bolum-2/#comments</comments>
		<pubDate>Fri, 28 Aug 2009 17:11:31 +0000</pubDate>
		<dc:creator>fentanyl</dc:creator>
				<category><![CDATA[Web Güvenliği]]></category>
		<category><![CDATA[Güvenlik]]></category>
		<category><![CDATA[güvenlik araçları]]></category>
		<category><![CDATA[Security Tools]]></category>

		<guid isPermaLink="false">http://fentanyl.wordpress.com/2009/08/28/web-aciklik-tarayicilari-bolum-2/</guid>
		<description><![CDATA[
İlk bakışta ve özellikle demolarda özellikleri ile baş döndüren bu araçlar, yakından tecrübe edildikçe ve üzerinde çalıştıkları teknolojiler/zafiyet detayları öğrenildikçe, başarmaya çalıştıkları görevin çok karmaşık ve zor olmasından, bazı durumlarda beklenildiği gibi çalışmadıkları görülmektedir.
Tekrarlamak gerekirse, bu yazıda otomatik tarayıcıların iddia ettikleri özelliklerin üzerine yoğunlaşılmıştır. İddia etmedikleri özellikler ise başka bir makale konusu olabilir (mesela, kullanıcı [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fentanyl.wordpress.com&blog=961999&post=2295&subd=fentanyl&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><span id="ctl00_ContentPlaceHolderIcerik_gridYazi_ctl02_lblIcerik"></p>
<p align="justify">İlk bakışta ve özellikle demolarda özellikleri ile baş döndüren bu araçlar, yakından tecrübe edildikçe ve üzerinde çalıştıkları teknolojiler/zafiyet detayları öğrenildikçe, <strong>başarmaya çalıştıkları görevin çok karmaşık ve zor olmasından</strong>, bazı durumlarda beklenildiği gibi çalışmadıkları görülmektedir.</p>
<p align="justify">Tekrarlamak gerekirse, bu yazıda otomatik tarayıcıların iddia ettikleri özelliklerin üzerine yoğunlaşılmıştır. İddia etmedikleri özellikler ise başka bir makale konusu olabilir (mesela, kullanıcı profili çapraz testleri, integer overflow, v.b.).</p>
<p align="justify"><em>Tarayıcıyı Doğru Yolda Tutmak</em></p>
<p align="justify">Hassas verilerini son kullanıcılardan koruma güvenlik gereksinimi ile yazılan web uygulamaları, kimlik doğrulama ve yetkilendirme adımlarını gerçeklemektedirler. Bu uygulamaları uzaktan denetleyecek tarayıcıların, bu kontrollerden geçip uygulamanın dahili arayüzlerine ulaşması ve uygulamadan çıkmadan ulaşabildiği bütün arayüzleri denetlemesi gerekmektedir.</p>
<p align="justify">Tarayıcılar doğru yolda tutunabilmek için bir çok mantıklı seçenek getirmişlerdir; giriş makro kaydedicileri, logout link belirlenmesi, v.b. Bu seçenekler denetlenen uygulamaların çoğunluğunda (ağırlıklı olarak ASP.NET/PHP/ASP) işe yaramakla birlikte, bazı durumlarda yetersiz kalmakta ve taramaların eksik kalmasına neden olmaktadırlar.</p>
<p align="justify"><span id="more-2295"></span>Örnek olarak, <a href="http://www.jboss.org/jbossrichfaces/">Java RichFaces</a> <a href="http://java.sun.com/javaee/javaserverfaces/">JavaServer Faces</a> için yazılmış bir bileşen kütüphanesidir. Bu kütüphane kullanılarak, AJAX teknolojisi ile kolay ve zengin uygulamalar yazmak mümkündür. <a href="http://extjs.com/">ExtJS</a> gibi, ürettiği istemci taraflı çok karmaşık kodlarla denetleyicinin sinirini hoplatan bu teknolojinin HTML element’lere (JSF’den kaynaklanan) otomatik id değeri ataması “logout link belirlenme” tekniğini bazı durumlarda kullanılmaz hale getirmekte, bazı durumlarda ise çok zorlaştırmaktadır. Örnek bir logout POST isteği aşağıda verilmiştir;</p>
<p align="justify"><strong>j_id_jsp_1019999124_4=j_id_jsp_1019999124_4&amp;javax.faces.ViewState=j_id2&amp;j_id<br />
_jsp_1019999124_4%3Aj_id_jsp_1019999124_7=j_id_jsp_1019999124_4%<br />
3Aj_id_jsp_1019999124_7</strong>
</p>
<p align="justify">Yukarıda küçük periyotlar ile sadece viewstate değişmektedir. Diğer parametre isimleri (ve dolayısıyla değerleri) zaman zaman sunucu yeniden başlatmalarında, uygulama redeploylarında ve kritik hata durumlarında değişmektedirler. Parametre isimleri (id attribute değerleri), geliştiricinin özel olarak vermediği durumlarda otomatik olarak JSF motoru tarafından üretilmektedirler.</p>
<p align="justify">Yukarıda,</p>
<p align="justify"><strong>j_id_jsp_1019999124_4:</strong> form’un id’sini<br />
<strong>j_id_jsp_1019999124_7:</strong> logout link’inin id’si belirtmektedir
</p>
<p align="justify">Giriş ekranlarında <a href="http://www.captcha.net/">CAPTCHA</a> kullanıldığından, giriş makrosu oluşturulması ve kullanılması olanaksızdır.  Logout linki belirlenmesi ise yukarıda bahsedilen durumlardan ötürü (ve karmaşık olsa dahi giriş makrosu oluşturulamadığından) mümkün değildir.</p>
<p align="justify">Ayrıca CAPTCHA kullanımından dolayı giriş makrosunun kullanılmadığı durumlarda açıklık tarayıcının geçerli bir session cookie’sinin verilmesi ile dahili sayfalara ulaşması sağlanabilemektedir. Eğer bu session cookie’si herhangi bir nedenden dolayı geçersiz hale gelirse (bubi tuzakları, container problemleri, v.b.) tarayıcı bunun farkına varamayacağından sonuçların eksik kalmasına ve daha kötüsü sistem yöneticilerinde ve denetçilerde yanlış bir güvenlik hissine yol açacaktır.</p>
<p align="justify"><strong>Açıklık Bulma Kalitesi</strong></p>
<p align="justify">Tarayıcılar yıllardır bilinen ve yaygın olarak exploit edilen bazı açıklıkları bulma konusunda eksik kalabilmektedirler.  Bu duruma en iyi iki örnek; Reflected XSS ve Kör  SQL Enjeksiyonudur.</p>
<p align="justify">Bariz sentaks (syntactic) özelliği ile bulunması en kolay açıklık vektörlerinden biri olan Reflected XSS, istek ve ardından cevap ikilisinin analiz edilmesi ile ortaya çıkarılır. Ancak bu durumda bile tarayıcılarda eksiklikler görülebilmektedir. Kullanılan veya el altındaki araçlar değerlendirilmek istenirse <a href="http://www.webguvenligi.org/xsstb/reflected.php">http://www.webguvenligi.org/xsstb/reflected.php</a> uygulaması veya çözümleri ile beraber <a href="http://www.webguvenligi.org/xsstb/reflected_hints.php">http://www.webguvenligi.org/xsstb/reflected_hints.php</a> uygulaması kullanılabilir.</p>
<p align="justify">Ek olarak, en ciddi saldırı vektörlerinden biri olan ve üzerine bir çok araştırma (hem akademik ve akademik olmayan) yapılan Kör SQL enjeksiyonunun, otomatik tarayıcılar tarafından bulunma yetenekleri hem çok kısıtlı ve hem de hataya açıktır. Bulma algoritmaları belirli ve üzerinde çok düşünülmüş olmasına rağmen her zaman bulunması mümkün olmayan bu açıklığın ortaya çıkarılmasında yine de otomatik tarayıcılara büyük iş düşmektedir. Kullanılan veya el altındaki araçlar değerlendirilmek istenirse <a href="http://www.webguvenligi.org/projeler/sqlibench">http://www.webguvenligi.org/projeler/sqlibench</a> projesi kullanılabilir.</p>
<p align="justify"><strong>Hatalı Pozitifler (False Positives)</strong></p>
<p align="justify">“False positives”, güvenlik taramalarının kaçınılmaz bir şekilde otomatize edilmesi ile denetçilerin hayatına giren bir terimdir. Temel olarak, tarayıcılar tarafından bulunan açıklıkların aslında var olmadığı anlamına gelir.</p>
<p align="justify">Tarayıcıların, bazı yaygın uygulamaları ve dosyaları tanımlaları veya bu uygulamalar/dosyalar yolu ile çıkan false positive’leri suppress edebilme seçeneğini sunmaları bilgi kirliliğinin azaltılması bakımından çok önemlidir.</p>
<p align="justify">Örnek olarak, açıklık tarayıcıların artık yaygın olarak kullanılan/bulunan <a href="http://jquery.com/">jQuery</a> ve <a href="http://httpd.apache.org/docs/">Apache Manual</a> dosyalarını otomatik olarak tanımaları ve bu dosyalar hakkında false positive (dizin gezinimi, os komut çalıştırma, v.b.) üretmemeleri gerekmektedir.</p>
<p align="justify"><strong>Esneklik</strong></p>
<p align="justify">Tarayıcılar çalışırken, ayarlarında bazı değişiklikler yapılması gerekebilmektedir (yapılan istek sayısının azaltılması/arttırılması, kullanılan session id’nin yenilenmesi, false pozitif vermeye başlayan URL bölümlerinin atlatılması, v.b.). Tarama zamanı, bu ayar değişikliklerinin etkin olması beklenirken, etkin olmayacağı durumların kullanıcıya belirtilmesi bilgilendirici olacaktır.</p>
<p align="justify">Aynı doğrultuda bir açıklık tarayıcıda mutlaka Pause/Beklet özelliğinin bulunması ve bu özelliğin çalışması gerekmektedir.</p>
<p align="justify"><strong>Raporlama</strong></p>
<p align="justify">Tarayıcıların çoğu özelleştirilebilen pdf/html raporlar üretebilmektedirler. Yine bu tarayıcılar çoğunlukla ilişkisel veritabanlarını kullandıkları için, özel araçlar tarafından kurumsal gereksinimlere göre daha granuler ve parse edilebilen XML raporları üretebilmelidir. Enterprise boyutlarda üretilen bir çok açıklık sonuç raporunun tek bir havuzda toplanabilmesi, ölçülebilirlik ve izlenebilirlik açısından son derece önemlidir. Bir çok tarayıcının (network, audit, web) raporlarının konsolide edilebilmesi bu  açıdan hayati önem taşımaktadır.</p>
<p align="justify"><strong>Web Servisler ve İstemci Taraflı Teknolojilerin Desteği</strong></p>
<p align="justify">Farklı bir çok web servis teknolojisi ile üretilen uygulamaların otomatik tarayıcı tarafından algılanabilir ve denetlenebilir olması gereklidir. Bu teknolojilerden bazıları aşağıda listelenmiştir;</p>
<p align="justify">JBossWS<br />
JBossWS JAX-WS<br />
JAX-RPC<br />
JAX-WS<br />
Axis 1.x<br />
Axis 2<br />
Apache CFX<br />
XFire 1.x<br />
Oracle Proxy<br />
XmlBeans<br />
JAXB 2.0<br />
.NET 2.0<br />
Gsoap
</p>
<p align="justify">Web üzerinden servis edilen istemci taraflı teknolojilerdeki açıklık vektörlerinin de denetlenebilmesi otomatik tarayıcıların özelliklerinden biri olmalıdır. Bu teknolojilerden en önemlisi Adobe Flash’tır.</p>
<p align="justify"><strong>Ürün Spesifik Uygulama Açıklıkları</strong></p>
<p align="justify">Bu özellik web uygulama tarayıcılarında olması gereken en önemli özelliklerden biridir. Otomatik veya manuel olarak üçüncü parti uygulamalardaki bilinen ve yayınlanmış web açıklıklarının kontrol edilmesi ve bulunması %100 mümkün değildir. Yeterli kaynak bulunmaması  bu durumdaki en büyük nedendir.</p>
<p align="justify">Tarayıcı bir otomatik update mekanizması ile neredeyse her gün yenisi çıkan bu tür zafiyetlerin kurallarını öğrenmeli ve uygulamalıdır.</p>
<p align="justify"><strong>İstek Sayısı İnce Ayarı ve İstek İzleme</strong></p>
<p align="justify">Tarayıcı tarafından üretilen istek sayısının ince ayarının yapılabilmesi (network tarayıcılarındaki dakikadaki paket sayısı gibi web tarayıcılarındaki dakikadaki istek sayısı) bazı durumlarda çok önemli hale gelmektedir; IPS, uygulama bubi tuzakları, uygulamanın saturasyon eşik değerleri, v.b.</p>
<p align="justify">Bu özelliğin yanında tarayıcı tarafından üretilen isteklerin mutlaka kaydedilme ve tarama anında veya daha sonra detaylı olarak izlenme özelliğinin tarayıcılar tarafından gerçeklenmiş olması gerekmektedir. Oturumun geçersiz olmaya başladığı, hatalı negatiflerin nedeninin bulunması gibi kritik durumlarda bu izleme yetisi denetleyiciye önemli bilgiler sunacaktır. Bu özellik çok yer alabileceğinden opsiyonel hale getirilebilir.</p>
<p align="justify"><strong>Sonuç</strong></p>
<p align="justify">Yazıda web açıklık tarayıcılarının kısa geldiği bazı durumlardan ve özelliklerinden bahsedilmektedir. Bu özelliklerin bazılarının gerçeklenebilmesi karşılık geldikleri problemlerin doğaları gereği zordur. Bu araçları network tarayıcıları ile kıyaslamak bu açıdan doğru olmayacaktır ama çok değişkenlik gösteren web ormanında çok kaliteli bir tarayıcının çıkması biraz daha zaman alacak gibi gözükmektedir.</p>
<p align="justify">http://dergi.webguvenligi.org/websec/5-web-aciklik-tarayicilari&#8211;bolum-2.wgt</p>
<p></span></p>
Posted in Web Güvenliği Tagged: Güvenlik, güvenlik araçları, Security Tools, Web Güvenliği <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fentanyl.wordpress.com/2295/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fentanyl.wordpress.com/2295/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fentanyl.wordpress.com/2295/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fentanyl.wordpress.com/2295/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fentanyl.wordpress.com/2295/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fentanyl.wordpress.com/2295/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fentanyl.wordpress.com/2295/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fentanyl.wordpress.com/2295/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fentanyl.wordpress.com/2295/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fentanyl.wordpress.com/2295/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fentanyl.wordpress.com&blog=961999&post=2295&subd=fentanyl&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://fentanyl.wordpress.com/2009/08/28/web-aciklik-tarayicilari-bolum-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d956096b59bca9150215c25b234811f0?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fentanyl</media:title>
		</media:content>
	</item>
		<item>
		<title>Microsoft Security Essentials</title>
		<link>http://fentanyl.wordpress.com/2009/08/28/microsoft-security-essentials/</link>
		<comments>http://fentanyl.wordpress.com/2009/08/28/microsoft-security-essentials/#comments</comments>
		<pubDate>Fri, 28 Aug 2009 04:00:23 +0000</pubDate>
		<dc:creator>fentanyl</dc:creator>
				<category><![CDATA[Kişisel Güvenlik]]></category>
		<category><![CDATA[Microsoft Security Essentials]]></category>
		<category><![CDATA[MSE]]></category>
		<category><![CDATA[Security Tools]]></category>

		<guid isPermaLink="false">http://fentanyl.wordpress.com/?p=2285</guid>
		<description><![CDATA[Microsoft Security Essentials, Microsoft’tan ücretsiz Anti-virüs Programı
MSE (Microsoft Security Essentials ), Microsoft’un yakın geçmişte (23 haziran 2009) betasını yayınladığı ücretsiz anti-virus programıdır. Windows Live OneCare’in devamı olarak görülen bu program, OneCare’dan farklı olarak en son anti-malware teknolojilerini içerir. Aynı zamanda bilgisayarınızın performansını, malware taraması süresince en üst seviyede tutmayı sağlayan bir uygulamadır.
Kod adı: Morro (MSE)
MSE [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fentanyl.wordpress.com&blog=961999&post=2285&subd=fentanyl&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><strong>Microsoft Security Essentials, Microsoft’tan ücretsiz Anti-virüs Programı</strong></p>
<p>MSE (Microsoft Security Essentials ), Microsoft’un yakın geçmişte (23 haziran 2009) betasını yayınladığı ücretsiz anti-virus programıdır. Windows Live OneCare’in devamı olarak görülen bu program, OneCare’dan farklı olarak en son anti-malware teknolojilerini içerir. Aynı zamanda bilgisayarınızın performansını, malware taraması süresince en üst seviyede tutmayı sağlayan bir uygulamadır.</p>
<p>Kod adı: Morro (MSE)</p>
<p>MSE (Microsoft Security Essentials ), Microsoft’un yakın geçmişte (23 haziran 2009) betasını yayınladığı ücretsiz anti-virus programıdır. Windows Live OneCare’in devamı olarak görülen bu program, OneCare’dan farklı olarak en son anti-malware teknolojilerini içerir. Aynı zamanda bilgisayarınızın performansını, malware taraması süresince en üst seviyede tutmayı sağlayan bir uygulamadır.</p>
<p>Projenin kod adı olan Morro (ingilizcede; tepedeki kale) bu programın dışarıdan gelen saldırılara karşı güçlü bir kale olacağını belirtmiş. Şu anki Beta testleri de bu durumu doğruluyor. Yalnızca Amerika, Çin ve Brezilya’ya açılan beta versiyonunu internet üzerinden edinmek mümkün. Performans, malware bulma ve malware’i etkisiz hale getirmek konularında oldukça iddialı.</p>
<p><span id="more-2285"></span></p>
<p><a href="http://fentanyl.files.wordpress.com/2009/08/73728734.png"><img class="alignleft size-full wp-image-2286" title="73728734" src="http://fentanyl.files.wordpress.com/2009/08/73728734.png?w=600&#038;h=468" alt="73728734" width="600" height="468" /></a></p>
<p>İlk bakışta MSE, Windows XP, Windows Vista ve Windows 7 gibi işletim sistemlerinin güvenliğini yüksek oranda arttıracak bir anti-malware programı gibi görünüyor. Bahsettiğimiz bu özelliklerin gerçekten neden böyle olduklarına bir göz atalım;</p>
<p><strong>Peformans :</strong></p>
<p>Bilindiği üzere çoğu free / commercial anti-virüs programları işletim sistemi yüklendiği zaman daha önceden belirlenmiş tarama sürecine girer ve bilgisayarın performansını yüksek oranda düşürürler. Bir çok kullanıcı bu sebepten tarama esnasında işlerini yavaşlatmaması için anti-malware tarama programını kapatmak zorunda kalır. Bu da sistemin olası ataklara korunmaması, yani kişisel veya kurumsal bilgilerin istenmeyen kişiler tarafından ele geçirilebilme olasılığını arttırır. MSE, CPU throttling yaparak kullanıcının MSE’nin aktivitelerinden etkilenmeden çalışmasını sağlar. Bu özelliğinin yanısıra MSE kendisini öteki programlara göre daha az öncelikli olarak tanıttığından kullanıcının kullandığı programlara öncelik tanınır. Eğer kullanıcı aktivitesini engellemeyecek bir boşluk oluşursa, MSE o zamanda taramayı gerçekleştirir. Aynı zamanda MSE, RAM’de yaklaşık 4 mb gibi çok küçük bir alanda çalıştığından performans bakımından oldukça zayıf denebilecek bilgisayarlarda bile sorunsuz çalışacaktır. Son olarak CPU throttling, laptopunuz herhangi bir adaptöre bağlı değil iken tarama yapıldığında makinanın pilinin bitmemesi için enerji tasarrufu yapar.</p>
<p>Bu özellikleri özetlemek gerekirse, MSE, son kullanıcıya varlığını hissettirmeden çalışır ve buna rağmen piyasadaki anti-virüs programlarından daha hızlı tarama yapabilmektedir Ancak bilindiği gibi, eğer virüsleri gerçekten tanıyamıyorsa, performans tek başına hiç bir işe yaramaz.</p>
<p><strong>Virüs tarama, tanıma ve etkisiz hale getirme:</strong></p>
<p>Microsoft Security Essentials’ın virüs tarama ve tanımada kullandığı sistemler, en yeni çıkan malware signaturelar tanımlanmamış olmasına rağmen, MSE’ın bu zararlı programları tespit etmesine olanak sağlar. MSE’nin veritabanı, çıkan yeni virüsler için sürekli güncellenmekte, ancak programın imzalarını kontrol etmek her zaman virüsleri yakalamaya yeterli olamıyacağı için, Microsoft Security Essentials kontrol edilecek programların makina dilindeki halini belirli kalıplara uyup uymadığını da kontrol etmektedir. Mesela bir dosyayı tararken, dosya eğer signature testinden geçerse yine de kalıp kontrolünü yapar ve malware yapılarıyla bir benzerlik varsa kullanıcıyı bu dosyanın zararlı bir dosya olabileceği konusunda uyarır.<br />
Microsoft Security Essentials‘ın virüs tarama özellikleri bunlar ile kısıtlı kalmıyor. Tanınmamak için kendisini her seferinde değişik biçimlere sokan çok kompleks malware’lara karşı da önlemler alınmış durumda. Arka planda çalışan motoru sayesinde usb memory sticklerini, CD veya DVD’leri tarayarak bilgisayarın hem sanal olarak hem fiziksel olarak sürekli korumasını sağlar.<br />
Microsoft  Security Essentials ile Windows işletim sistemini çok daha güvenilir bir ortam haline getirilmesi mümkün.</p>
<p>Microsoft Security Essentials’ın henüz ilk public betasında bu performansı sağlayabilmesi, gelecekte çıkacak olan release versiyonundan beklenenleri arttıracaktır. Windows işletim sistemlerinin popülerliği göz önünde bulundurularak yapılan Microsoft Security Essentials’ın, güçlü bir anti-malware programı olmasınının yanında, basit arayüzü ve kolay öğrenilebilir kullanımı sayesinde kullanıcı dostu olması, onu alanında en üst sıralara taşıyor.</p>
<p><a href="http://www.microsoft.com/security_essentials/" target="_blank">DOWNLOAD</a></p>
Posted in Kişisel Güvenlik Tagged: Kişisel Güvenlik, Microsoft Security Essentials, MSE, Security Tools <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fentanyl.wordpress.com/2285/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fentanyl.wordpress.com/2285/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fentanyl.wordpress.com/2285/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fentanyl.wordpress.com/2285/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fentanyl.wordpress.com/2285/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fentanyl.wordpress.com/2285/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fentanyl.wordpress.com/2285/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fentanyl.wordpress.com/2285/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fentanyl.wordpress.com/2285/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fentanyl.wordpress.com/2285/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fentanyl.wordpress.com&blog=961999&post=2285&subd=fentanyl&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://fentanyl.wordpress.com/2009/08/28/microsoft-security-essentials/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d956096b59bca9150215c25b234811f0?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fentanyl</media:title>
		</media:content>

		<media:content url="http://fentanyl.files.wordpress.com/2009/08/73728734.png" medium="image">
			<media:title type="html">73728734</media:title>
		</media:content>
	</item>
		<item>
		<title>Web Güvenliğinde Otomasyon</title>
		<link>http://fentanyl.wordpress.com/2009/08/28/web-guvenliginde-otomasyon/</link>
		<comments>http://fentanyl.wordpress.com/2009/08/28/web-guvenliginde-otomasyon/#comments</comments>
		<pubDate>Fri, 28 Aug 2009 03:57:46 +0000</pubDate>
		<dc:creator>fentanyl</dc:creator>
				<category><![CDATA[Web Güvenliği]]></category>
		<category><![CDATA[web security]]></category>
		<category><![CDATA[Web Security Scanner]]></category>

		<guid isPermaLink="false">http://fentanyl.wordpress.com/?p=2283</guid>
		<description><![CDATA[Bu yazımızda web güvenliği testlerinde otomasyon gereksinimi ve rakamlar ile web uygulaması testleri konularını ele alıyoruz.
Yeni gelen teknolojilerin bir çoğu ilk başlarda çok güvensiz olur. Kimsenin firewall kullanmadığı, kimsenin kablosuz ağına şifre koymadığı, bir exploit’ in internetin 1/4’ ünü etkilediği zamanları görüp geçirdik. Aynı bunun gibi her üç sitenin ikisinde SQL Injection, Cross-site Scripting olduğu [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fentanyl.wordpress.com&blog=961999&post=2283&subd=fentanyl&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Bu yazımızda web güvenliği testlerinde otomasyon gereksinimi ve rakamlar ile web uygulaması testleri konularını ele alıyoruz.</p>
<p>Yeni gelen teknolojilerin bir çoğu ilk başlarda çok güvensiz olur. Kimsenin firewall kullanmadığı, kimsenin kablosuz ağına şifre koymadığı, bir exploit’ in internetin 1/4’ ünü etkilediği zamanları görüp geçirdik. Aynı bunun gibi her üç sitenin ikisinde SQL Injection, Cross-site Scripting olduğu günleri de geride bıraktık diyebiliriz.</p>
<p>Tüm ağlar, işletim sistemleri bir gecede güvenli olmadı ama git gide insanların bilinçlenmesi , “firewall”, “otomatik güncelleme” gibi şeylerin standart hale gelmesi ile genel olarak çok daha güvenli sistemler ile karşılaşmaya başladık. Tabii ki bu sistemlerin basit saldırılara karşı güvenli olması tüm güvenlik açıklarının yok olduğu anlamına da gelmiyor, hala güvenlik açıkları var ama daha zor yerlerdeler.</p>
<p>Web de benzer bir geçiş sürecinden nasibini aldı. Daha güvenli web dilleri ortaya çıktı, üç sene önce web geliştiricileri XSS (Cross-site Scripting)’in [1] ne olduğunu bilmiyorken bugün web geliştiricisi olmayan kişiler bile en azından bu konuda bir fikir sahibiler. Tabii ki bu bilinçlenmeye katkıda bulunan tüm XSS ve SQL Injection solucanlarının da hakkını vermemiz lazım, onlar sayesinde bu tip sorunlar medayada kendilerine yer buldular [2].</p>
<p>Güvenlik hakkındaki bu genel bilinçlenme bir çok güvenlik açığının oluşmasına engel olmaya başladı. Artık hiç bir sitenin login formunda SQL Injection bulunmuyor ama hala bir çok web uygulamasında “Nümerik” değerler bekleyen SQL cümleciklerinde data tip kontrolü yerine sadece tek tırnaklardan kaçıldığını görebilirsiniz, mesela şu iki SQL cümleciğine bakalım:</p>
<p><span id="more-2283"></span></p>
<p><strong> 1. SELECT * FROM users WHERE name=”’ + SQLSafe(Request(“username”)) + ’”</strong></p>
<p><strong> 2. SELECT * FROM users WHERE name=” + SQLSafe(Request(“userid”))</strong></p>
<p><strong> </strong></p>
<p><strong>Burada kullanılan SQLSafe() fonksiyonuna bakalım. Programcı MS SQL Server kullandığından tek tırnakları çift tek tırnağa çevirerek SQL Injection’ a karşı kendini koruyor:</strong></p>
<p><strong> </strong></p>
<p><strong> Function SQLSafe(input)</strong></p>
<p><strong> input = Replace(“’”,”’’”)</strong></p>
<p><strong> SQLSafe = input</strong></p>
<p><strong> End Function</strong></p>
<p><strong> </strong></p>
<p>Bu korunma birinci SQL Query örneğinde güvenli olsa da ikincisinde güvenli değil çünkü SQL Query nümerik olduğundan tırnak içerisinde yazılmamış. Dolayısıyla zaten SQL Injection için tırnak kullanmaya gerek yok. Bunun anlamı bir saldırgan tek tırnak kullanmadan başarılı şekilde bir SQL Injection saldırısı yapabilir.</p>
<p>Burada hala bir güvenlik açığı var ama bulması ve exploit etmesi &#8221; ’ OR ’1’=’1 &#8221; yazmaktan daha zor.</p>
<p>Güvenlik açısından baktığımızda üç tip site görebiliriz:</p>
<p>1. Güvenli Siteler<br />
2. Güvensiz Siteler<br />
3. Güvenli olduğunu zanneden siteler</p>
<p>Güvenli olduğunu zannetme genelde şu nedenlerden dolayı oluşur:<br />
<strong><br />
1. Web geliştiricisinin güvenlik açığını gerçekten anlamamış olması ama hasbel kader ne olduğunu bilmesi.<br />
2. Geliştiricinin potansiyel bir güvenlik açığını görmüş olması ama exploit edilemeyeceğini düşünmesi, bunun ana nedeni kendisinin bu açığı exploit edememiş olmasıdır. O edemediyse kimse edemez (!), değil mi?<br />
3. Kullandıkları web dilinin ya da framework’ ünün onlar için tüm güvenlik işlerini hallettiğini sanması. Bu SSL’ in tüm güvenlik dertlerinizi çözeceğine inanmanız kadar komik bir şey.<br />
</strong><br />
Bunun harici kriptoloji, WAF (Web Uygulaması Firewall’ı) vs. gibi şeylerin sistemlerini bir gecede güvenli yapacağına inanan kişiler de var, onlar başka bir yazı konusu&#8230;</p>
<p><strong>Rakamlar ile Web Uygulaması Testi</strong></p>
<p>Hata mesajlarını görememek bir saldırganın başına gelebilecek en kötü şeylerden biridir ve artık aklı başında hiç bir site hata mesajlarını göstermiyor. Bu mesajlara erişemeden bir sistemin güvenliğini test etmek bu mesajlara erişerek ve sistemin alt yapısını izleme imkanı olarak (white-box testing) test etmekten çok daha farklı bir iş.</p>
<p>Tam anlamı [3] ile bir SQL Injection açıklığını tespit etmek istersek, şu saldırıları denemeliyiz:</p>
<p>• Filtre geçmek: 2 tip saldırı (Mesela boşluk kabul edilmiyorsa tüm istekleri bir de boşlukları “/**/” ile değiştirerek göndermek gerekli)<br />
• SQL cümleciklerini önceden bitirmek için: 2 tip saldırı (mesela “&#8211;“ ve “”)<br />
• Gruplama içeren SQL Cümlecikleri için: 4 tip saldırı ( mesela: “”,”)”,” ))”,” )))” gibi&#8230; )<br />
• String, Integer, AND / OR vs. kombinasyonları: 2 tip<br />
• Injection yerine göre: 3 tip</p>
<p>Sonuç:   2 *  2 * 4 * 2 * 3 = 96 HTTP isteği</p>
<p>Bunun anlamı sitedeki her dinamik girdi için 96 farklı deneme yapmazsanız sistemi gerçekten yeterli şekilde test ettiğinizden emin olmazsınız demek. Vasat bir sitede 50 dinamik parametre görebilirsiniz, eğer karşıdaki veritabanını da bilmiyorsanız, diğer veritabanlarına uygun da denemeler yapmanız lazım, yani 96 * 3 * 50 = 14.400 istek. Teorik olarak hala mükemmel bir SQL Injection testi yapamadınız, hala acayip ve tuhaf olasılıklar var [4].</p>
<p>Unutmamak lazım 15.000 istekten sonra hala çözmemiz gereken başka dertler var, XSS var, CSRF var, LFI var, RFI var ve daha bir çok başka abuk subuk kısaltması olan ve bulunması gereken güvenlik açığı var.</p>
<p>Mantıklı bir güvenlik uzmanı gidip eliyle 15.000 deneme yapmaz, genelde onun yerine açık olabilecek yerlere belli olasılıklar ile odaklanır ve HTTP cevaplarını en verimli şekilde analiz edip ona göre oralarda en çok tutma olasılığı olan açıkları dener.</p>
<p>SQL Injection, XSS, RFI, LFI gibi mantıksal sorunlara dayanmayan diğer açıklar da SQL Injection testleri kadar olmasa da çok sayıda deneme gerektiriyor.</p>
<p>Burada üç genel çözüm var:<br />
<strong><br />
1. Güvenli yazılım geliştirmek<br />
2. White-Box (açık kutu, sisteme erişerek) güvenlik testi yapmak [5].<br />
3. Testleri otomatikleştirmek<br />
</strong><br />
Aslında bu üçünü birbirlerinden ayırmak yanlış olur nitekim bunların hepsini en verimli oranlarda yaparak (vakit &#8211; para) &#8211; güvenlik üçlüsünde güzel bir oranı yakalayabilirsiniz.</p>
<p>Web güvenliğinde otomatik olarak tespit edilemeyecek açıklar var -en azından yapay zeka sistemleri gelişene kadar-, ama onun harici otomatik olarak tespit edilebilecek de bir çok ciddi sorun var. Güvenlik testlerinin otomatikleştirilebilecek kısımları otomatikleştirilmeli ve güvenlik uzmanları da değerli vakit ve beyinlerini daha çok otomatik olarak tespit edilemeyecek açıkları tespit etmek için kullanmalılar.</p>
<p>Buradaki en kritik noktalardan biri otomatize eden aracın verimliliğidir. Web uygulamalarının komplike ve değişken yapısı, Web 2.0, AJAX ve 3rd parti yazılım çılgınlığı sayesinde her gün daha da komplike hale geliyor. Bu durumda araçlar da gereken verimi veremeyebiliyorlar, güvenlik testi yapan kişi aracın tam olarak neyi yapıp neyi yapamadığını bilmediğinden dolayı ilgili araçtansa kendi altıncı hissine daha çok güveniyor.</p>
<p>Bu maalesef güvenlik testi otomasyonunda uzunca bir süre daha çözülemeyek konulardan biri gibi. Muhtemel ki yakında daha çok güvenlik testi yapan kişi ile otomasyonu yapan aracın bire bir ilişkisinin yükseldiği araçlar göreceğiz.</p>
<p>Hatta “kullanıcı haklarına” ilişkin açıkları anlayabilen, siz siteyi gezerken girdiğiniz bir şifrenin sitenin başka bir yerinde bir hidden input içerisinde base64 ile encode edilmiş olduğunu tespit edebilen, çok adımlı formların adımlarını anlayabilip, adımları geçmeyi deneyen araçlar görebiliriz, hatta görmeliyiz. Aksi takdirde kendimizi yeni açıkların da listeye eklenmesi ile otomasyon olmadan içinden çıkılması mümkün olmayan bir yerde bulacağız.</p>
<p>[1] 2003’te Drupal’in geliştiricilerine bir XSS açığı bildirdiğimde, bana “XSS nedir?”, “Sitede Javascript çalışması neden zararlı olsun ki?” gibi bir e-mail atmışlardı.<br />
[2] Burayı okur okumaz insanlara CSRF’nin ne kadar önemli bir açık olduğunu anlatma amaçlı bir solucan yazmaya karar vermediniz değil mi?<br />
[3] Bir parametreye tek tırnak koyduğunuzda bir SQL Injection hatası almıyorsanız bu o sitenin güvenli olduğuna gelmez.<br />
[4] Mesela farklı bir sistemde sizin girdiniz ile her akşam çalışan bir SQL Query’sinde SQL Injection varsa?<br />
[5] Aslında bu da çok süper bir çözüm değil gerçek ve büyük bir sistem ile karşılaştığınız da kaynak kod güvenlik analizlerinin aylarca süreceğiniz görebilirsiniz.</p>
<p>http://dergi.webguvenligi.org/websec/3-web-guvenliginde-otomasyon.wgt</p>
Posted in Web Güvenliği Tagged: Web Güvenliği, web security, Web Security Scanner <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fentanyl.wordpress.com/2283/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fentanyl.wordpress.com/2283/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fentanyl.wordpress.com/2283/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fentanyl.wordpress.com/2283/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fentanyl.wordpress.com/2283/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fentanyl.wordpress.com/2283/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fentanyl.wordpress.com/2283/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fentanyl.wordpress.com/2283/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fentanyl.wordpress.com/2283/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fentanyl.wordpress.com/2283/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fentanyl.wordpress.com&blog=961999&post=2283&subd=fentanyl&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://fentanyl.wordpress.com/2009/08/28/web-guvenliginde-otomasyon/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d956096b59bca9150215c25b234811f0?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fentanyl</media:title>
		</media:content>
	</item>
	</channel>
</rss>