hasta_siempre
02-09-2006, 05:39
Evet arkadaşlar şimdi sizlere genel web sitelerindeki güvenlik açıklarını ve bunlardan korunma yollarını anlatmaya çalışacağım
----------------------- SQL Injection -------------------------
sql dilindeki komutları değiştirmeye yarayan bir kod parçasıdır.Örneğin bir sitedeki sql sorgusunu şöyle ele alalım :
sql = "Select * From db Where kullanici='"&kullanici&"' and parola='"&parola&"'"
evet normalde kullanılan komut bu
bu komutun çalışma zamanında "&kullanici&" ifadesinin yerine formdan gelen veri yazılır yani çalışma zamanında kullanici='"&kullanici&"' ifadesi yerini
kullanici='admin' bu ifadeye bırakır
yani sql dilinde formdan gelen veri ' ' bunların arasında yer alır.
şimdi biz parolaya 'or 'a'='a yazarsak nolur bir bakalım hemen
işte yeni sorgumuz bu yani siteye k.adı ve şifresiz giriş sağlandı
tabi bu kodlar sadece bununla sınırlı değil
bir çok sql komutu kullanılır bu iş yapılırken ben sizlere göstermek için çok eski bir açığı söyledim
bunu kendi sitenizde eğer cpanel varsa ve HTMLEncode veya replace kullanmamışsanız bir deneyin sonucu görün
peki bundan nasıl korunulabilir ????
sitedede geçen bir yazıyı replace anlatımını alıyorum sizler için
Gangster Arkadaşımızın yazdığı bir replace tir
<%
function temizle(data )
data = Replace (data ,"`","",1,-1,1 )
data = Replace (data ,"=","",1,-1,1 )
data = Replace (data ,"&","",1,-1,1 )
data = Replace (data ,"%","",1,-1,1 )
data = Replace (data ,"!","",1,-1,1 )
data = Replace (data ,"#","",1,-1,1 )
data = Replace (data ,"<","",1,-1,1 )
data = Replace (data ,">","",1,-1,1 )
data = Replace (data ,"*","",1,-1,1 )
data = Replace (data ,"^","",1,-1,1 )
data = Replace (data ,"$","",1,-1,1 )
data = Replace (data ,"{","",1,-1,1 )
data = Replace (data ,"(","",1,-1,1 )
data = Replace (data ," )","",1,-1,1 )
data = Replace (data ,"[","",1,-1,1 )
data = Replace (data ,"]","",1,-1,1 )
data = Replace (data ,"}","",1,-1,1 )
data = Replace (data ,"?","",1,-1,1 )
data = Replace (data ,",","",1,-1,1 )
data = Replace (data ," ","",1,-1,1 )
data = Replace (data ,"|","",1,-1,1 )
data = Replace (data ,"%","",1,-1,1 )
data = Replace (data ,"And","",1,-1,1 )
data = Replace (data ,"'","",1,-1,1 )
data = Replace (data ,"Chr(34 )","",1,-1,1 )
data = Replace (data ,"Chr(39 )","",1,-1,1 )
data = Replace (data ,"select","",1,-1,1 )
data = Replace (data ,"join","",1,-1,1 )
data = Replace (data ,"union","",1,-1,1 )
data = Replace (data ,"where","",1,-1,1 )
data = Replace (data ,"insert","",1,-1,1 )
data = Replace (data ,"delete","",1,-1,1 )
data = Replace (data ,"update","",1,-1,1 )
data = Replace (data ,"like","",1,-1,1 )
data = Replace (data ,"drop","",1,-1,1 )
data = Replace (data ,"create","",1,-1,1 )
data = Replace (data ,"modify","",1,-1,1 )
data = Replace (data ,"rename","",1,-1,1 )
data = Replace (data ,"alter","",1,-1,1 )
data = Replace (data ,"cast","",1,-1,1 )
data = Replace (data, "--" , "" )
temizle=data
end function
%>
bunu kendi sitenize göre düzenleyebilirsiniz
bu sql den korunmak için iyi bir yöntemdir.
--------------------------------- Flood -----------------------------------
evet geldik flood'a ...
Arkadaşlar flood denen şeyin amacı sitelerdeki trafiği doldurup siteyi iptal ettirmektir sonraa hackerlar gelir register eder ve indexi basar
bu gerçektende önemli bir açıktır özellikle somee kullanan arkadaşlar için çok önemlidir örnek : fastboy arkadaşımızın sitesi kendisinden çok özür diliyorum beni affetti sonunda ama pişmanım [Linkleri görebilmek için kayıt olmanız gerekiyor. http://www.forumturka.net/forum/register.php link'ini alıp browser'ınıza yapıştırmanız yeterlidir.] neyse
flood ne kadar zararlıdır ???
şöyle diyeyim sitenin bir üye ol sayfası olsun
uye_ol.asp ben bu sayfaya 2 saat içine 1.000.000 dan fazla post yollarsam nolur ???
ya trafik dolar yada sitenin alanı dolar...
işte flood bu kadar önemlidir...
1 saat içinde flood ile 1.000.000 dan fazla post gönderilebilir...bu bağlantı hızına göre değişir tabi bende 512 Kbps var 1.000.000 gönderiyor neyse
bununda çözümü var elbette
bundan kurtulmak için sitedeki tüm işlemleri post ve get ile yapılan işlemleri zaman sınırlamasıyla yaptırın yani db de son yapılan işlemi kayıtlı tutun ve sürekli güncelleyin
mesela 2 işlem için geçmesi gereken zamanı 2 dk yapın bu fazlasıyla yeterli olacaktır hatta mesela şöyle yapın 2 işlem arası zaman 1 dk olsun ve bir sayfada kişi 2 kere aynıişlemi tekrarlarsa kabul etmesin mesela z.defterine 2 kere peşpeşe mesaj bırakamasın bunun gibi çözümleri siz sitenize göre üretebilirsiniz...
---------------------------- XSS ( CSS ) Crossing Site Scripting -------------------------
arkadaşlar xss bir script enjekte yöntemidir ve genelde php ve php-nuke de kullanılır ( tabi asp dede var ve ondan anlatıyorum ) xss nin kullanıldığı yer genelde ziyaretçi defterleri , shoutbox lar , haber modülleri vs. vs. dir
örnek veriyorum
sitede bir ziyaretçi defteri var ve adam yazar yazman sitede çıkıyor adam oraya bir yönlendirme kodu yazıyor javasscirpt veya html ile ve sitenin ziyaretçi defteri birden yönleniyor başka sayfaya...
xssde genellikle javascript kodları kullanılır bu kodlar cookie kalmaya olanak tanırlar mesela
<script>document.location=’/xss/?’+escape(document.cookie )</script>
bu kod ile çok iş görülür örneğin bir sitenin adminine bir pm atarsınız etkileyici şu siteye bir bakın diye ve kendi sitenizde bu scripti kullanıp cookie yi log ettirirsiniz bu sayede adminin cookies bilgileri sizde olur ve cookies ile admin olarak giriş yaparsınız...
evet bu xss nin püf noktalarındandır bundan korunmak için birkaç yöntem vardır...
1 ) zitenizdeki z.defteri ,haber modülleri , shoutbox gibi herşeyi replace ile güvenlik altına alın
2 ) formlardan gelen verileri , sürekli filtrelemek yani değişkenleri bile htmlencode ile filtrelemek hiç fena olmaz
3 ) uyanık olun rastgele sitelere girmeyin cookie çalınırsa işiniz kötü olabilir
bu güncel bir açıktır..fakat bu konuda benimde yeterli bilgim yok kusura bakmayın...Sadece bahsetmek istedim..
-------------------------- FSO Upload --------------------------------------------------
FSO upload yöntemi bir uplaod yönetimidr ( adındanda anlaşılacağı gibi )
bu yöntem genelde üye profillerinde avatar upload , upload siteleri ve resim upload ola yerlerde
bunun amacı ise siteye zehir bulaştırmaktır..Bazı zehirler : CyberSpy5 , c99 , r57 vs.
bu zehirler siteyi yönetmeye yarar yani bunları kullanarak sitede adminden bile daha fazla yetkiye sahip olmak mümkündür çünkü admin kodları göremez zehirler dosyaları kodlarıyla birlikte açmaya imkan tanırlar...
bundan korunmak için upload uygulamalarında uzantı kontrolleri yapın ve .gif , .jpg vs. gibi uzantı dışındaki dosyaları engelleyin
ALINTIDIR
Write By ofkologlu
----------------------- SQL Injection -------------------------
sql dilindeki komutları değiştirmeye yarayan bir kod parçasıdır.Örneğin bir sitedeki sql sorgusunu şöyle ele alalım :
sql = "Select * From db Where kullanici='"&kullanici&"' and parola='"&parola&"'"
evet normalde kullanılan komut bu
bu komutun çalışma zamanında "&kullanici&" ifadesinin yerine formdan gelen veri yazılır yani çalışma zamanında kullanici='"&kullanici&"' ifadesi yerini
kullanici='admin' bu ifadeye bırakır
yani sql dilinde formdan gelen veri ' ' bunların arasında yer alır.
şimdi biz parolaya 'or 'a'='a yazarsak nolur bir bakalım hemen
işte yeni sorgumuz bu yani siteye k.adı ve şifresiz giriş sağlandı
tabi bu kodlar sadece bununla sınırlı değil
bir çok sql komutu kullanılır bu iş yapılırken ben sizlere göstermek için çok eski bir açığı söyledim
bunu kendi sitenizde eğer cpanel varsa ve HTMLEncode veya replace kullanmamışsanız bir deneyin sonucu görün
peki bundan nasıl korunulabilir ????
sitedede geçen bir yazıyı replace anlatımını alıyorum sizler için
Gangster Arkadaşımızın yazdığı bir replace tir
<%
function temizle(data )
data = Replace (data ,"`","",1,-1,1 )
data = Replace (data ,"=","",1,-1,1 )
data = Replace (data ,"&","",1,-1,1 )
data = Replace (data ,"%","",1,-1,1 )
data = Replace (data ,"!","",1,-1,1 )
data = Replace (data ,"#","",1,-1,1 )
data = Replace (data ,"<","",1,-1,1 )
data = Replace (data ,">","",1,-1,1 )
data = Replace (data ,"*","",1,-1,1 )
data = Replace (data ,"^","",1,-1,1 )
data = Replace (data ,"$","",1,-1,1 )
data = Replace (data ,"{","",1,-1,1 )
data = Replace (data ,"(","",1,-1,1 )
data = Replace (data ," )","",1,-1,1 )
data = Replace (data ,"[","",1,-1,1 )
data = Replace (data ,"]","",1,-1,1 )
data = Replace (data ,"}","",1,-1,1 )
data = Replace (data ,"?","",1,-1,1 )
data = Replace (data ,",","",1,-1,1 )
data = Replace (data ," ","",1,-1,1 )
data = Replace (data ,"|","",1,-1,1 )
data = Replace (data ,"%","",1,-1,1 )
data = Replace (data ,"And","",1,-1,1 )
data = Replace (data ,"'","",1,-1,1 )
data = Replace (data ,"Chr(34 )","",1,-1,1 )
data = Replace (data ,"Chr(39 )","",1,-1,1 )
data = Replace (data ,"select","",1,-1,1 )
data = Replace (data ,"join","",1,-1,1 )
data = Replace (data ,"union","",1,-1,1 )
data = Replace (data ,"where","",1,-1,1 )
data = Replace (data ,"insert","",1,-1,1 )
data = Replace (data ,"delete","",1,-1,1 )
data = Replace (data ,"update","",1,-1,1 )
data = Replace (data ,"like","",1,-1,1 )
data = Replace (data ,"drop","",1,-1,1 )
data = Replace (data ,"create","",1,-1,1 )
data = Replace (data ,"modify","",1,-1,1 )
data = Replace (data ,"rename","",1,-1,1 )
data = Replace (data ,"alter","",1,-1,1 )
data = Replace (data ,"cast","",1,-1,1 )
data = Replace (data, "--" , "" )
temizle=data
end function
%>
bunu kendi sitenize göre düzenleyebilirsiniz
bu sql den korunmak için iyi bir yöntemdir.
--------------------------------- Flood -----------------------------------
evet geldik flood'a ...
Arkadaşlar flood denen şeyin amacı sitelerdeki trafiği doldurup siteyi iptal ettirmektir sonraa hackerlar gelir register eder ve indexi basar
bu gerçektende önemli bir açıktır özellikle somee kullanan arkadaşlar için çok önemlidir örnek : fastboy arkadaşımızın sitesi kendisinden çok özür diliyorum beni affetti sonunda ama pişmanım [Linkleri görebilmek için kayıt olmanız gerekiyor. http://www.forumturka.net/forum/register.php link'ini alıp browser'ınıza yapıştırmanız yeterlidir.] neyse
flood ne kadar zararlıdır ???
şöyle diyeyim sitenin bir üye ol sayfası olsun
uye_ol.asp ben bu sayfaya 2 saat içine 1.000.000 dan fazla post yollarsam nolur ???
ya trafik dolar yada sitenin alanı dolar...
işte flood bu kadar önemlidir...
1 saat içinde flood ile 1.000.000 dan fazla post gönderilebilir...bu bağlantı hızına göre değişir tabi bende 512 Kbps var 1.000.000 gönderiyor neyse
bununda çözümü var elbette
bundan kurtulmak için sitedeki tüm işlemleri post ve get ile yapılan işlemleri zaman sınırlamasıyla yaptırın yani db de son yapılan işlemi kayıtlı tutun ve sürekli güncelleyin
mesela 2 işlem için geçmesi gereken zamanı 2 dk yapın bu fazlasıyla yeterli olacaktır hatta mesela şöyle yapın 2 işlem arası zaman 1 dk olsun ve bir sayfada kişi 2 kere aynıişlemi tekrarlarsa kabul etmesin mesela z.defterine 2 kere peşpeşe mesaj bırakamasın bunun gibi çözümleri siz sitenize göre üretebilirsiniz...
---------------------------- XSS ( CSS ) Crossing Site Scripting -------------------------
arkadaşlar xss bir script enjekte yöntemidir ve genelde php ve php-nuke de kullanılır ( tabi asp dede var ve ondan anlatıyorum ) xss nin kullanıldığı yer genelde ziyaretçi defterleri , shoutbox lar , haber modülleri vs. vs. dir
örnek veriyorum
sitede bir ziyaretçi defteri var ve adam yazar yazman sitede çıkıyor adam oraya bir yönlendirme kodu yazıyor javasscirpt veya html ile ve sitenin ziyaretçi defteri birden yönleniyor başka sayfaya...
xssde genellikle javascript kodları kullanılır bu kodlar cookie kalmaya olanak tanırlar mesela
<script>document.location=’/xss/?’+escape(document.cookie )</script>
bu kod ile çok iş görülür örneğin bir sitenin adminine bir pm atarsınız etkileyici şu siteye bir bakın diye ve kendi sitenizde bu scripti kullanıp cookie yi log ettirirsiniz bu sayede adminin cookies bilgileri sizde olur ve cookies ile admin olarak giriş yaparsınız...
evet bu xss nin püf noktalarındandır bundan korunmak için birkaç yöntem vardır...
1 ) zitenizdeki z.defteri ,haber modülleri , shoutbox gibi herşeyi replace ile güvenlik altına alın
2 ) formlardan gelen verileri , sürekli filtrelemek yani değişkenleri bile htmlencode ile filtrelemek hiç fena olmaz
3 ) uyanık olun rastgele sitelere girmeyin cookie çalınırsa işiniz kötü olabilir
bu güncel bir açıktır..fakat bu konuda benimde yeterli bilgim yok kusura bakmayın...Sadece bahsetmek istedim..
-------------------------- FSO Upload --------------------------------------------------
FSO upload yöntemi bir uplaod yönetimidr ( adındanda anlaşılacağı gibi )
bu yöntem genelde üye profillerinde avatar upload , upload siteleri ve resim upload ola yerlerde
bunun amacı ise siteye zehir bulaştırmaktır..Bazı zehirler : CyberSpy5 , c99 , r57 vs.
bu zehirler siteyi yönetmeye yarar yani bunları kullanarak sitede adminden bile daha fazla yetkiye sahip olmak mümkündür çünkü admin kodları göremez zehirler dosyaları kodlarıyla birlikte açmaya imkan tanırlar...
bundan korunmak için upload uygulamalarında uzantı kontrolleri yapın ve .gif , .jpg vs. gibi uzantı dışındaki dosyaları engelleyin
ALINTIDIR
Write By ofkologlu