Konuyu görüntüle
IUCODERS FORUM > Programlama > .NET > asp.net in asp ye göre
Yazar
dotnetonur


avatar
Dersaadet
Kayıt: 21.11.2007
29.11.2007-20:12 #31992
http://forums.asp.net/
http://forum.yetanotherforum.net/

Birisi ASP.NET in resmi forumu, diğeri de .NET teknolojileri ile geliştirilmiş diğer açık kaynak kodlu bir forum. Açıkçası phpBB kadar hızlı değiller ve bu yüzden .NET teknolojilerini ne kadar övsem ve kullansam da forum kuracağım zaman phpBB`den şaşmıyorum :)

phpBB, performans açısından iyi olsa da açık kaynak kodlu bir sistem üzerine inşa edilmesi (Linux-Apache Server-PHP) ve kendisinin de açık kaynak kodlu olması nedeniyle, vulnerabilities bakımından bol bir script olmakta.

Uzun süredir Bug Research`den uzak kaldım ama en son bildiğim kadarıyla en çok exploit edilen scriptlerden birisi phpBB`dir.





Ortam sanal olsa da, islenen suc gercektir...

Yazar
dotnetonur


avatar
Dersaadet
Kayıt: 21.11.2007
29.11.2007-20:51 #31995
Evet, yanılmamışım..

2004-12-25 tarihinden itibaren 2007-11-17 tarihine kadar phpBB scripti ve eklentilerinde 100 civarı bug bulunmuş..

Sizce açık kaynak kodlu web programlama dillerinin en yaygını olan PHP ile kodlanmış tek bir scriptte bile bu kadar çok açık çıkıyorsa, sizce bu dilin inşasında ki eksiklik mi yoksa PHP kodlama yapan programcıların eksikliği midir ? Ki şuan bahsettiğimiz script, en iyi PHP forumlardan biridir ve bir ekip tarafından kodlanmaktadır...





Ortam sanal olsa da, islenen suc gercektir...

Yazar
burakkanmaz


avatar
Gaziantep
Kayıt: 02.10.2006
29.11.2007-22:30 #32008
dotnetonur yazdi
 
Sizce açık kaynak kodlu web programlama dillerinin en yaygını olan PHP ile kodlanmış tek bir scriptte bile bu kadar çok açık çıkıyorsa, sizce bu dilin inşasında ki eksiklik mi yoksa PHP kodlama yapan programcıların eksikliği midir ? Ki şuan bahsettiğimiz script, en iyi PHP forumlardan biridir ve bir ekip tarafından kodlanmaktadır...


Bana göre bu açık sistemin büyüklüğü ile doğru orantılıdır. Bugün aynı forumu .NET te yapsak yine birçok açığı olacaktır. Ve bunun scripti kodlayanların eksiği olarak düşünüyorum. Sonuçta bizim açık diye tabir ettiğimiz olaylar (örn:SQL Injection,Exploit vs. gibi yaygın açıklar) hep programlama eksiği yüzünden olmakta. PHP sana SQL kullanma özelliği veriyor ama sen kodlarken farklı şekilde sql kod girişini düşünemiyorsun. Bu açık bence PHP nin değil kodlayan kişi(ler)in hatasındandır.

Şu anda olasılık çalışıyorkene bu konuya olasılık açısından bakarsak, büyük sistemler yazılmış her dilin 100+ açık oluşturma olasılığının açık oluşturmama olasılığına oranının olasılığı silly Başım döndü ya olasılıklarla biggrin





Yazar
orhan


avatar
istanbul
admin
Kayıt: 17.11.2005
29.11.2007-22:35 #32011
php , değişken tanımı olmaması nedeniyle veritabanı uygulamaları geliştirmek için en sağlam dillerden biridir. dinamik olarak nesne üretebilir. cache ve templating yapabilir.





N/A
Yazar
dotnetonur


avatar
Dersaadet
Kayıt: 21.11.2007
29.11.2007-22:53 #32018
burakkanmaz yazdi
 
dotnetonur yazdi
 
Sizce açık kaynak kodlu web programlama dillerinin en yaygını olan PHP ile kodlanmış tek bir scriptte bile bu kadar çok açık çıkıyorsa, sizce bu dilin inşasında ki eksiklik mi yoksa PHP kodlama yapan programcıların eksikliği midir ? Ki şuan bahsettiğimiz script, en iyi PHP forumlardan biridir ve bir ekip tarafından kodlanmaktadır...


Bana göre bu açık sistemin büyüklüğü ile doğru orantılıdır. Bugün aynı forumu .NET te yapsak yine birçok açığı olacaktır. Ve bunun scripti kodlayanların eksiği olarak düşünüyorum. Sonuçta bizim açık diye tabir ettiğimiz olaylar (örn:SQL Injection,Exploit vs. gibi yaygın açıklar) hep programlama eksiği yüzünden olmakta. PHP sana SQL kullanma özelliği veriyor ama sen kodlarken farklı şekilde sql kod girişini düşünemiyorsun. Bu açık bence PHP nin değil kodlayan kişi(ler)in hatasındandır.

Şu anda olasılık çalışıyorkene bu konuya olasılık açısından bakarsak, büyük sistemler yazılmış her dilin 100+ açık oluşturma olasılığının açık oluşturmama olasılığına oranının olasılığı silly Başım döndü ya olasılıklarla biggrin


Ama en çok açık, PHP ile yazılan sistemlerde meydana gelmektedir :)

.NET ile yazılan sistemlerde exploit edilebilecek derecede önemli bir açık olmadı bugüne kadar.

orhan`ın dediği gibi belki PHP dediği özellikler bakımından üstün bir dil olabilir ama aşırı derecede güvenlik açığına da sebeb verebilmektedir. Yani PHP ile güvenli bir sistem yazmak zordur...





Ortam sanal olsa da, islenen suc gercektir...

Yazar
orhan


avatar
istanbul
admin
Kayıt: 17.11.2005
29.11.2007-23:03 #32021
dotnetonur yazdi
 

Ama en çok açık, PHP ile yazılan sistemlerde meydana gelmektedir :)

.NET ile yazılan sistemelerde exploit edilebilecek derecede önemli bir açık olmadı bugüne kadar.

orhan`ın dediği gibi belki PHP dediği özellikler bakımından üstün bir dil olabilir ama aşırı derecede güvenlik açığına da sebeb verebilmektedir. Yani PHP ile güvenli bir sistem yazmak zordur...

açıkların php ile alakası yok ki. sen sistemi güvenli kılmak için gerekli önlemleri almak zorundasın.





N/A
Yazar
dotnetonur


avatar
Dersaadet
Kayıt: 21.11.2007
29.11.2007-23:10 #32027
orhan yazdi
 
dotnetonur yazdi
 

Ama en çok açık, PHP ile yazılan sistemlerde meydana gelmektedir :)

.NET ile yazılan sistemelerde exploit edilebilecek derecede önemli bir açık olmadı bugüne kadar.

orhan`ın dediği gibi belki PHP dediği özellikler bakımından üstün bir dil olabilir ama aşırı derecede güvenlik açığına da sebeb verebilmektedir. Yani PHP ile güvenli bir sistem yazmak zordur...

açıkların php ile alakası yok ki. sen sistemi güvenli kılmak için gerekli önlemleri almak zorundasın.


Açıkların PHP ile alakası var aslında :)

PHP programlama dilinin sistematiği nedeniyle, güvenlik önlemi almak zorlaşıyor. Her bir saldırı türünü önlemek için ayrı ayrı fonksiyonlar yazıp sayfaya include etmek zorunda kalıyorsunuz.

Hadi diyelim, XSS, SQL Injection gibi bilinen saldırı türlerine, hazır fonksiyonlarla önlem aldınız. Ama yine PHP nin oluşturulmasında yapılan hatalar nedeniyle ortaya çıkan RFI-LFI açıkları daha 2 sene önceye kadar Türkiye bilinmiyordu bile. Sağolsun bir hack sitesindeki DJR nickli şahıs, açığın nasıl kullanılacağını ve kapatılacağını öğretti de yavaş yavaş ona da önlem almaya başladı coderlar.

Ama .NET`te hiçbir güvenlik önlemi almadan sayfadaki bir textbox`dan veritabanına veri girme işlemi yapacağınızı farz edelim. Eğer textbox`a <script>alert("xss")</script> gibi bir ifade girmeye kalkarsanız, otomatik olarak uyarı verip zararlı kod algıladığını ve bunu veritabanına ekleyemeyeceğini söyleyecektir.

Ya da .JSP ile yaptığınız iucoders sitesinde parametreleri filtrelemediğiniz zaman, sayfanın kodlarının bir kısmını dahi görebilirsiniz. :)





Ortam sanal olsa da, islenen suc gercektir...

Yazar
orhan


avatar
istanbul
admin
Kayıt: 17.11.2005
29.11.2007-23:32 #32033
dotnetonur yazdi
 


Açıkların PHP ile alakası var aslında :)

PHP programlama dilinin sistematiği nedeniyle, güvenlik önlemi almak zorlaşıyor. Her bir saldırı türünü önlemek için ayrı ayrı fonksiyonlar yazıp sayfaya include etmek zorunda kalıyorsunuz.


Güvenlik kavramı developer tarafından düşünülmeli. Ben x sayfasına 123xy değerlerini sokmak istiyorsam z geliyorsa z yi engelleme işlemini framework yapmamalı.
 

Hadi diyelim, XSS, SQL Injection gibi bilinen saldırı türlerine, hazır fonksiyonlarla önlem aldınız. Ama yine PHP nin oluşturulmasında yapılan hatalar nedeniyle ortaya çıkan RFI-LFI açıkları daha 2 sene önceye kadar Türkiye bilinmiyordu bile. Sağolsun bir hack sitesindeki DJR nickli şahıs, açığın nasıl kullanılacağını ve kapatılacağını öğretti de yavaş yavaş ona da önlem almaya başladı coderlar.

Bir geliştirici olarak kullanıcıya sunduğun içerikten sen sorumlusun ve bu sorumluluk ile bu işi yapman gerekiyor. Ayrıca php de bildiğim kadarıyla fonksiyonlar tek dosyadan kapatılabiliyor. Ayrıca apache'nin bahsettiğin saldırı türleri için mod_ ları var. bunları enable etmen yeterli.

 

Ama .NET`te hiçbir güvenlik önlemi almadan sayfadaki bir textbox`dan veritabanına veri girme işlemi yapacağınızı farz edelim. Eğer textbox`a <script>alert("xss")</script> gibi bir ifade girmeye kalkarsanız, otomatik olarak uyarı verip zararlı kod algıladığını ve bunu veritabanına ekleyemeyeceğini söyleyecektir.
Ya da .JSP ile yaptığınız iucoders sitesinde parametreleri filtrelemediğiniz zaman, sayfanın kodlarının bir kısmını dahi görebilirsiniz. :)

Şu senaryo bahsettiğin durum da geçersiz. Ben <>'' alanlarını kullanıyorum bunlar gerekli. Bu durumda bahsettiğin şeyler geçersiz.

JSP de gosterilecek hatayı filtreleyebilirsin. 1 Sayfada array olan dizinin length ini kontrol etmedim. Siteyi zorda bırakan bir açık değil. Ayrıca bu site flood yemez. Sitenin bir çok bölümünde MD5 token ring kullanıyoruz. Kodun buyuk bir kısmı da compile edilmiş class tır.







N/A
Yazar
dotnetonur


avatar
Dersaadet
Kayıt: 21.11.2007
30.11.2007-00:13 #32038
 
Güvenlik kavramı developer tarafından düşünülmeli. Ben x sayfasına 123xy değerlerini sokmak istiyorsam z geliyorsa z yi engelleme işlemini framework yapmamalı.


Tabi ki tamamen yapay zekaya dayalı bir saldırı önleme sistemini bünyesinde barındırması gerekmiyor frameworkun. Ama frameworku geliştirenler de birer developer ve güvenlik kavramını onlar da düşünmek zorundalar. Sağlam düşünülmeden yapılan bir sisteme, her hafta yama yapmaktansa analiz ve proje yönetiminin dikkatli yapılıp yapılandırılmış bir sistemi release etmek, hem prestij için hem de developerlar için daha mantıklı değil mi ?

 
Bir geliştirici olarak kullanıcıya sunduğun içerikten sen sorumlusun ve bu sorumluluk ile bu işi yapman gerekiyor. Ayrıca php de bildiğim kadarıyla fonksiyonlar tek dosyadan kapatılabiliyor. Ayrıca apache'nin bahsettiğin saldırı türleri için mod_ ları var. bunları enable etmen yeterli.


İşte benim de konuyu getirmek istediğim nokta buydu. Acaba kaç developer bu sorumluluğun farkında ? Ya da daha ütopik bir deyişle, kaç dil geliştirici developerların bu sorumsuzluğunun farkındalığıyla geliştirme sürecini tekrardan yapılandırıyor ?

Ben, bugların tek bir dosyadan fixleneceğini bilsem bile, hangi bugun nasıl oluştuğunu, nelere mal olacağını bilmedikten sonra, fixleme olayının nasıl yapacağımı bilmemin bana ne faydası var ?

 
Şu senaryo bahsettiğin durum da geçersiz. Ben <>'' alanlarını kullanıyorum bunlar gerekli. Bu durumda bahsettiğin şeyler geçersiz.

JSP de gosterilecek hatayı filtreleyebilirsin. 1 Sayfada array olan dizinin length ini kontrol etmedim. Siteyi zorda bırakan bir açık değil. Ayrıca bu site flood yemez. Sitenin bir çok bölümünde MD5 token ring kullanıyoruz. Kodun buyuk bir kısmı da compile edilmiş class tır.


Aslında bu da bizim değil, bugüne kadar text editorlere uygulanan güvenlik senaryolarının yanlışlığındandır.

Piyasadaki tüm text editorler, izin verilmeyen tagların çalışmaması mantığıyla hareket ettiğinden dolayı, ne kadar da replace etseniz de bir şekilde fonksiyonu aşabiliyorsunuz. (Bkz: Web Wiz Son Versiyon Text Editoru) Ama text editorlerin hiç biri sadece izin verilen taglari çalıştırma mantığına dayanmıyor ? iddia ediyorum böyle bir text editor olsa, onu temizleyen fonksiyonu sitenin input alan her tarafında kullanabilir ve URL veya İnput alanlarından gelen saldırıların hepsini engelleyebilirsiniz...





Ortam sanal olsa da, islenen suc gercektir...

Yazar
einsteine


avatar
istanbul
Kayıt: 29.10.2007
30.11.2007-00:55 #32039
tartışmalardan da görüldüğü gibi microsoft kazandı .. asp.net in bayağı bi avantajı var asp ye göre ve php ye göre ....









Yazar
tarikkranda


avatar

Kayıt: 07.01.2006
30.11.2007-10:21 #32054
ASP.NET in PHB den yavas oldugunu da nerden çıkarıyorsunuz ya da büyük forumları yönetemeyeceğini. Üşenmesem 1000 tane forum örneği gösterirdim ama zamanım yok şu anda. Performans için her türlü imkan sunulmuş, güvenlik için se ASp.NET yapısı itibari ile birçok güvenlik açığının önüne geçecek şekilde tasarlanmıştır, sizin ayrıca kodlama yapmanıza gerek yoktur, her çıkan yeni versiyonu ile bu özelliği geliştirilmektedir. Diger platformlarla da çok güzel işler çıkarılabiliyor elbette. Yazılımcının yeteneğine kalmış birşey. Bence ASP.NET her 3 unden de avantajlıdır ve tasarlanamayacak sistem, kaldıramayacağı yük yoktur, kisisel fikrim.





Yazar
einsteine


avatar
istanbul
Kayıt: 29.10.2007
30.11.2007-10:58 #32058
bize birazda .net in işleyişi hakkında bilgi verebilrmisniz...yani nerede yapılıuyor asp gibi front page gibi yerlerdemi yapılyor...









Yazar
orhan


avatar
istanbul
admin
Kayıt: 17.11.2005
30.11.2007-11:12 #32059
dotnetonur yazdi
 

Tabi ki tamamen yapay zekaya dayalı bir saldırı önleme sistemini bünyesinde barındırması gerekmiyor frameworkun. Ama frameworku geliştirenler de birer developer ve güvenlik kavramını onlar da düşünmek zorundalar. Sağlam düşünülmeden yapılan bir sisteme, her hafta yama yapmaktansa analiz ve proje yönetiminin dikkatli yapılıp yapılandırılmış bir sistemi release etmek, hem prestij için hem de developerlar için daha mantıklı değil mi ?

Burada senin farkın ortaya cıkacak zaten. Amele developer ile kaliteli developer arasında bri fark olmalı. Tabi bu arada birşeyi soylemeyi unuttuk. asp, php vs.. dillerde html encode / decode açılıp kapatılabiliyor. :)) Ekstra bir filtreye gerek yok.
 

İşte benim de konuyu getirmek istediğim nokta buydu. Acaba kaç developer bu sorumluluğun farkında ? Ya da daha ütopik bir deyişle, kaç dil geliştirici developerların bu sorumsuzluğunun farkındalığıyla geliştirme sürecini tekrardan yapılandırıyor ?

Burada iki farklı yaklaşım ortaya çıkıyor. Bunları bilmek zorunda mıyız? Farzedelim windows işletim sistemi için driver yazıyorsun. Yazdığın driverdaki bir açık sistemi kullanılmaz hale getirdi.
 

Aslında bu da bizim değil, bugüne kadar text editorlere uygulanan güvenlik senaryolarının yanlışlığındandır.

Text editorlerde sınır olmaz. Bir ofis dökümanını gösterecek kadar zengin olabilir. Filtreni kendin yazman lazım. tahribat.com da TinyMCE var ve filtre çok sağlam.





N/A
Yazar
orhan


avatar
istanbul
admin
Kayıt: 17.11.2005
30.11.2007-11:18 #32061
php java ve .net in birbirinden üstün oldukları alanlar vardır mutlaka ama şu daha iyidir demek anlamsız olur.





N/A
Yazar
onur


avatar
Two Story Town
Kayıt: 14.01.2006
30.11.2007-11:51 #32063
orhan yazdi
 
php java ve .net in birbirinden üstün oldukları alanlar vardır mutlaka ama şu daha iyidir demek anlamsız olur.


bence de dili kullanan kisiye gore degisir.Ustunluk konusunda Orhan'a katiliyorum.

.net -> hepsiburada.com

php -> facebook

jsp -> bircok bankanin internet subesi,iucodersbiggrin

bu orneklere baktigim teknoloji tercihinin o kadar da onemli olmadigini yaptigin isi layigiyla yapmanin onemli oldugunu anliyorum ben.







1 2 3
Del.icio.us
Digg
Facebook
Furl
Google
Blink
Simpy
Spurl
Y! MyWeb