![]() |
|
![]() |
| SQL Injections Databaseleri kandırmak, izin verilmeyen bilgileri alma teknikleri |
|
|
||
|
![]() |
|
Seçenekler | Değerlendirme | Stil | ![]() |
|
|
#1 |
![]() DT Kayıt Tarihi: Oct 2008
Bulunduğu yer: ANADOLU
Mesajlar: 450
Konular: 256
|
Sql Server Sql İnjection .
-------------------------------------------------------------------------------- Sql Server kullanan sistemlerdeki sql injection tehlikesi ve çözümü. Bu dökümanda size çoğu web sitesinin hacklenmesinde kullanılan ve hala birçok sitede bulunan sql injection açığından bahsedeceğim. Sql injection temel olarak “‘” ve “—“ kullanılarak yapılır. ‘ karakteri string ifadeyi kapatır, “--“ ise kendisinden sonraki komutları iptal eder. Çoğumuz yaptığımız işlerde işin kolayına kaçıp sql sorgularını sql="select * from admin where kullanici_ad="'& request.querystring("kullanici_ad") &"' and sifre="'& request.querystring("sifre") &""' sorgusuna benzer şekilde oluşturuyoruz. Bu sorgunun yaptığımız sitedeki admin konsolu giriş kontrolünü yaptığını düşünelim. İlk etapta lamer’ ımız “x“ ve “x” yazarak giriş yapmaya çalışsın. Bu durumda sql sorgumuz : select * from admin where kullanici_ad='x' and sifre='x' olacaktır. Burda sorun yok. Ama eğer lamer kullanıcı adı olarak “x’ or 1=1 -- “ girerse sql sorgusu : select * from admin where kullanici_ad='x' or 1=1 --' and sifre='x' olacaktır. Sql server bu sorguyu çalıştırıken “--“ karakterlerinden sonra gelen ifadeleri açıklama olarak yorumlayacak ve çalıştırmayacaktır. Yani aslında yürütülen deyim select * from admin where kullanici_ad='x' or 1=1 olacaktır ve konsola giriş yapacaktır! Lamer’ ımız bunu görünce işi büyütmek isteyecektir. Bu sefer tablonun yapısını öğrenmek isterse “'having 1=1 “ gönderir. Ve bir hata mesajı : [Microsoft][ODBC SQL Server Driver][SQL Server]Column 'admin.ID' is invalid in the select list because it is not contained in an aggregate function and there is no GROUP BY clause. Tablo adını ve ilk alanın adını öğrenmiş oldu. Sonra “'group by ID “ gönderir. Bir hata mesajı daha : Microsoft][ODBC SQL Server Driver][SQL Server]Column 'admin.kullanici_ad' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause. Böylece ikinci alanın adını da öğrenmiş oldu. Sonra “'group by ID, kullanici_ad“ gönderir. Bir hata mesajı daha : [Microsoft][ODBC SQL Server Driver][SQL Server]Column 'admin.sifre' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause. Sonra “'group by ID, kullanici_ad,sifre“ gönderir. Hata mesajı gelmedi. Demek ki tabloda 3 alan varmış : ) Sonra uğraşmamak için kendisine bir kayıt açar. Tabii ki “' insert into admin values('x','x')” göndererek. Artık ilk denediğin “x”, “x” bilgileriyle giriş yapabilir. Sonra tek admin olmak ister. “' delete from admin where kullanici_ad<>'x'” gönderir. Kendi kaydı hariç bütün kayıtlar silinir. Bunlar işin ufak çaplı kısmı. Sp’ leri kullanabilir, diğer db’ lere ulaşabilir, db’ deki bütün kayıtları silebilir, kendi mesajını sitenin anasayfasına yazabilir vs... Çözüm nedir? Çok basit. Kullanıcıdan gelen "‘" karakterini kabul etmemek. Genel kabul gören çözüm “’” karakterini “’’” ile değiştirmek : kullanici_adi=trim(request.querystring("kullanici_ adi ")) kullanici_adi=replace(kullanici_adi,”’”,”’’”) Benim önerim ise “’” karakterini 146 ascii numaralı karakterle değiştirmektir. Ascii 146 karakteri sql server’ ın string olarak yorumladığı “’” karakteridir. Sitede arama yapan biri arama sözcüğünün içine “‘” karakteri de kullanabilmelidir. kullanici_adi=trim(request.querystring("kullanici_ adi ")) kullanici_adi=replace(kullanici_adi,”’”,chr(146)) Dökümandaki örnek kodlar sadece yaygın kullanıldığı ve okunabilirliği yüksek olduğu için asp(vbscript) olacak ancak bu diğer dil ve ortamlarda bu tehlikenin olmadığı veya daha az olduğu anlamına gelmiyor. Eğer zamanınız ve bilginiz yeterliyse sql sorgularını stored procedure kullanarak yapmanızı öneririm. Sql injection diğer db' lerde de geçerli. Sadece kullanım şekilleri farklılık gösteriyor. |
|
|
|
#2 |
![]() DT Kayıt Tarihi: Oct 2008
Bulunduğu yer: Anatolia
Mesajlar: 17
Konular: 5
|
saoLun Komutanım güzel bir dokuman oLmus arşivime aldım ..
|
|
|
|
#3 |
![]() DT Kayıt Tarihi: Oct 2008
Mesajlar: 13
Konular: 0
|
Paylaşım için tşklr...Başarılarınızın dewamanı Dİlerim...
|
|
|
|
#4 |
![]() DT Kayıt Tarihi: Oct 2008
Bulunduğu yer: Bozkurt Yurdu
Mesajlar: 76
Konular: 3
|
Tebrikler Komutanım
|
|
|
|
#5 |
![]() DT Kayıt Tarihi: Nov 2008
Yaş: 20
Mesajlar: 2
Konular: 0
|
Saolun Komutanım
|
|
|
|
#6 |
![]() DT Kayıt Tarihi: Nov 2008
Bulunduğu yer: Э F Є
Mesajlar: 9,413
Konular: 7657
|
Teşekkürler...
|
|
|
|
#7 |
![]() DT Kayıt Tarihi: Mar 2009
Mesajlar: 14
Konular: 1
|
ellerinize sağlık komutanım....
|
|
|
|
#8 |
![]() DT Kayıt Tarihi: Mar 2009
Bulunduğu yer: New YORK
Mesajlar: 21
Konular: 19
|
Elinize sağLık Komutanım güzel Döküman oLmuş
|
|
|
|
#9 |
![]() DT Kayıt Tarihi: Jan 2010
Mesajlar: 2
Konular: 1
|
bu yararli bilgi icin Tesekurler komutanim
![]() ![]() Kara-ReiS Dark-Leader |
|
![]() |
| Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir) | |
| Seçenekler | |
| Stil | Konuyu değerlendir |
|
|
Benzer Konular
|
||||
| Konu | Konuyu Başlatan | Forum | Cevaplar | Son Mesaj |
| Sql İnjection Unclosed hatası ile hack | A.Can | Hack Videoları - Hacking Videos | 1 | 3 Gün önce 01:17 PM |
| it.msn.com mysql İnjection | A.Can | Hack Videoları - Hacking Videos | 0 | 06-17-2009 08:56 PM |
| SQL Enjeksiyon İnjection | LeJon | Web Güvenlik Açıkları Ve Korunma Yöntemleri | 2 | 02-03-2009 10:36 AM |
| Mssql İnjection Anlatımı | the-sessiz | SQL Injections | 0 | 11-27-2008 01:02 AM |
| Acces İnjection Anlatımı | the-sessiz | SQL Injections | 0 | 11-27-2008 01:01 AM |
|
DT online film izle alanı sayesinde film, dizi, çizgi film, belgeselleri bilgisayarınıza indirmeden online izlemeniz mümkün.. NOT : Sitemizdeki bütün video ( film , dizi ) içerikleri video.google.com ve video.yahoo.com adreslerinden RSS botuyla çekilmektedir. Bu adreslerden içeriğin silinmesi durumunda sitemizde ilgili videoları izlemeniz mümkün değildir. Anlayışınız için teşekkür ederiz. |

