İPUCU

Web & Server Güvenliği Doğru web ve veritabanı sunucusu güvenliği sağlanmadan, bilgisayar korsanları hassas verilerinize erişebilir. Web, Sunucu ve veritabanı güvenliğini nasıl sağlayacağınızı buradan öğrenebilirsiniz.

Seçenekler

SQL injection

10-06-2009 11:00
#1
atlas_tr - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
01/2008
Nereden:
NErDe OLsam BEğeNİRsin
Mesajlar:
2.383
Teşekkür (Etti):
19
Teşekkür (Aldı):
189
Konular:
389
Ticaret:
(0) %
1 Giriş

Bir sunucunun yalnızca 80 numaralı portu açıksa, port tarayıcılarının bir açık yakalayamayacağını ve admin’in gerekli patch’leri yaptığını bilirsiniz. Bu durumda geriye web hacking methodları kalır. SQL injection yalnızca 80. porta ihtiyaç duyan, sunucuya veya sunucunun işletim sistemine değil de üzerinde çalışan uygulamalara (ASP, JSP, PHP, CGI gibi) saldıran bir tekniktir.
1.2 SQL Injection Nedir?

SQL Injection, web sayfalarını kullanarak SQL sorgusu ve komutu gönderme tekniğidir. Birçok site kullanıcıdan aldığı parametrelerle veritabanına sorgular göndermektedir. Örnek olarak kullanıcı girişi sayfasını düşünün, girilen ad ve şifre yardımıyla bu kişinin kayıtlı bir kullanıcı olup olmadığı veritabanına sorulur. SQL Injection ile SQL sorgusunu değiştireceğimiz ve istediğimiz bilgilere ulaşabileceğimiz sonuçlar elde edebiliriz.
1.3 Malzemeler

Sadece internet tarayıcısı.
2 Neleri Aramalısınız?

Kullanıcının bilgi gönderebileceği sayfaları bulmalısınız; mesela kullanıcı girişi, arama sayfası, yorum sayfası gibi. Genelde html sayfaları kullanıcı girdilerini gönderirken POST methodunu kullanırlar, böylece sayfanın adresinde parametreleri göremezsiniz. Bu durumda sayfanın kaynak kodunu inceleyerek hangi parametreleri gönderdiğini bulabilirsiniz. Arayacağınız html etiketi form olmalı, örnek olarak:
< form method="post" action="Search/search.asp">
< input type="hidden" name="A" value="C" />
< form>
form etiketleri arasındaki herşey potansiyel parametrelerdir.
2.1 Ya input alan bir sayfa bulamazsam?!

Sitede ASP, JSP, CGI veya PHP gibi sayfalar aramalısınız. Özellikle aşağıdaki gibi parametre alan sayfalara dikkat edin:
http://www.example.com/index.asp?id=10
3 Bu sayfa uygun mu, nasıl test ederim?

Tek tırnak hilesiyle başlayabilirsiniz. Bunun için input alanına hey' or 1=1-- girin. Örnek:
Eğer bu işlemi hidden bir input alanıyla yapmanız gerekiyorsa sayfanın kaynak kodunu bilgisayarınıza kaydedip form alanını aşağıdaki şekilde düzenleyin.
< form action="http://www.example.com/Search/search.asp" method="post">
< input type="hidden" name="A" value="hey' or 1=1--">
< /form>
Şanslıysanız siteye kullanıcı adı ve şifre olmadan giriş yapmış olacaksınız.
3.1 Ama neden ‘ or 1=1–?

Bu hileyi siteye giriş yapmanın yanında ekstra bilgilere ulaşmak için kullanabilirsiniz. Örnek olarak aşağıdaki ASP sayfasını ele alalım:
http://www.example.com/index.asp?category=food
URL’de category değişkenin adı, ve food ise bu değişkene atanan değerdir. Food kategorisindeki bilgileri listelemek için kullanılacak kod aşağıdaki gibidir:
v_cat = request(”category”)
sqlstr = “SELECT * FROM product WHERE PCategory=’” & v_cat & “‘”
set rs = conn.execute(sqlstr)
Gördüğünüz gibi gönderdiğimiz bilgi v_cat değişkenine atandı, daha sonra bu değişkenle bir SQL sorgusu oluşturuldu.
SELECT * FROM product WHERE PCatego
Kullanıcı İmzası

10-06-2009 23:58
#2
ankarali02 - ait Kullanıcı Resmi (Avatar)
Forumdan Uzaklaştırıldı
Üyelik tarihi:
02/2007
Mesajlar:
94
Teşekkür (Etti):
89
Teşekkür (Aldı):
11
Konular:
10
Ticaret:
(0) %
bilgilendirme icin tesekkürler

Bookmarks


« Önceki Konu | Sonraki Konu »
Seçenekler

Yetkileriniz
Sizin Yeni Konu Acma Yetkiniz var yok
You may not post replies
Sizin eklenti yükleme yetkiniz yok
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodları Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı