Teknolojinin Adresi & TEKplatform  

Geri Dön   Teknolojinin Adresi & TEKplatform > Web Tasarım > Web Programlama
Kayıt ol SSS Üye Listesi Takvim Arama Bugünkü Mesajlar Bütün Forumları okunmuş kabul et

Web Programlama HTML/CSS ,PHP ,ASP ,JavaScript ,Perl/CGI programlama dilleri ile ilgili her konuda tartışabilirsiniz.


Yeni Konu aç  Cevapla
 
LinkBack Konu Seçenekleri Modları Göster
Eski 03-03-2006, 15:03   #1 (permalink)
 
CANIMSIN - ait Avatar
CANIMSIN - ICQ üzerinden Mesaj gönder CANIMSIN - AİM üzerinden Mesaj gönder CANIMSIN - MSN üzerinden Mesaj gönder CANIMSIN - YAHOO üzeri ndenMesaj gönder Send a message via Skype™ to CANIMSIN
SQL injection nasıl yapılır???

 
S1: SQL nedir? Niçin kullanılır?

C1: SQL bir veritabanıdır ve kullanıcıyla etkileşimi sağlayarak, istenilen bilgileri sorgulama türüne göre kullanıcıya sunar. Veritabanlarında tablolar saklanır ve bu tablolarda hakkında bilgi tutulmak istenen şeyler (üye,öğrenci, personel, ürün vs. kayıtları) bulunur. En çok kullanılan veritabanları Microsoft SQL ve Unix MySQL’dir.



S2: SQL’de sorgulama nasıl yapılır?

C2: Normalde veritabanının (SQL veya mySQL) kendi komutlarını kullanarak bir sorgulama yapabilirsiniz. Ancak SQL ya da MySQL kullanan bir siteye doğrudan sorgulama yapamazsınız. Sorgulama işi, bizim web sitesinde gördüğümüz sayfaları oluşturan asp ya da php kodları tarafından yapılır ve bu kodlar webmaster tarafından yazılır. Bir alışveriş sitesinden mesela ASUS marka notebook’ları göstermesini istediğimizde aslında bir sorgulama yapmış oluruz, ancak bu sorgulamayı bizim yerimize asp ya da php kodları yapar.



S3: SQL enjeksiyonu nedir?

C3: SQL enjeksiyonu, veritabanlarının kullanıldığı sitelere kod açıklarından faydalanarak yapılan komut girişleridir.Özellikle Asp ve php ile yapılmış ve kötü olarak tasarlanmış (kod açısından) sitelerde sıkça SQL enjeksiyonu açığına rastlanır.



S4: Her asp ya da php sitesinde bu açık varmıdır? Yoksa nasıl bulacağım bu açığı?

C4: Hayır, her asp ya da php sitesinde bu açık bulunmaz. Çünkü bu açığın temeli webmaster’un kodlarda yaptığı bazı hatalara dayanır.Her webmaster da bu açığa düşmez.Bu açığın bir sitede olup olmadığını öğrenmek için mesela asp ile yapılmış bir sitenin kullanıcı girişinin olduğu herhangi bir alana (kullanıcı ismi, arama alanı vs) ya da URL adresi kısmına ’ (tek tırnak) yazmanız yeterli. Bu sayede SQL’i hata vermeye zorlarsınız. Eğer şuna benzer bir ODBC hatası verirse, o siteye SQL enjeksiyonu yapılabilir:



Microsoft OLE DB Provider for ODBC Drivers error ’80040e07’

[Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the nvarchar value ’urunler’ to a column of data type int.

/index.asp, line 11



S5: SQL’i başka nasıl hata vermeye zorlarım ?

C5: Şunlardan birini yazarak:

’ or 1=1--

" or 1=1--

’ or ’a’=’a

or 1=1--

’) or (’a’=’a

" or "a"="a



S6: Peki bunları niçin yapıyoruz ve bunlar ne anlama geliyor?

C6: Bunları SQL’in normal kullanıcıya sunmadığı bilgileri önümüze sermesi için yapıyoruz. Bu sayede SQL hata veriyor ve biz de bu hatadaki bilgiler yardımıyla sisteme kod enjekte ediyoruz. Mesela ’ or 1=1-- şeklindeki bir ifadeyi kullanıcı girişinin olduğu herhangi bir alana yazdığımız zaman, SQL’e diyoruz ki: Giriş şartı ya hiçbirşeydir ya da 1=1 olduğu zaman geçerlidir. 1 her zaman 1’e eşit olduğuna göre, SQL bizim feykimiz yemiş oluyor, yukarıdaki gibi bir hata veriyor. Bu hata sayesinde biz de adını bilmediğimiz tablonun ne olduğunu öğreniyor ve ona göre yeni komut vererek amacımıza ulaşıyoruz.



S7: Olay biraz karıştı. Bir örnekle açıklasak şunu?

C7: Ok, SQL’de normalde bir sorgulama şu şekilde yapılır. MEsela bizim ürünler diye bir tablomuz olsun ve bu tabloda web sitesinde sattığımız kitaplarımız, telefonlarımız vb gibi ürünlerimiz olsun . Normalde SQL’deki "urunler" adlı bu tablodan "kitaplar" başlıklı tablonun hepsini seçmek istediğimizde şöyle çağırırız:



SELECT * FROM urunler WHERE urunID=’kitaplar’



Ancak biz bunun yerine şu ifadeyi kullanalım:



SELECT * FROM urunler WHERE urunID=’’ or 1=1--’



Şimdi en sağa dikkat edin, buraya ’ or 1=1--’ kod enjeksiyonu yaptık ve SQL’e "urunler tablosundan bana urunID’si boş olan (en baştaki tırnaklara dikkat edin) ya da 1=1 eşitliğinin sağlandığı tabloyu getir" dedik. Böylece adını hiç bilmediğimiz tabloların ismini öğrenmiş olacağız

Bu Bir ZamaLarın En EtkiLi yontemı İdi Ama Artık FazLa bir İşe Yaramıyor :weep:
CANIMSIN isimli üyemiz çevrimdışıdır. (Offline)  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Alıntı ile Cevapla
Cevapla

« - | lütfen yardıms »

Konu Seçenekleri
Modları Göster

Yetkileriniz
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodları Kapalı
Trackbacks are Açık
Pingbacks are Kapalı
Refbacks are Açık
Gitmek istediğiniz klasörü seçiniz

Okuduğunuz Konuya Benzer Konular
Konu Konuyu Açan Forum Cevaplar Son Mesaj
Coğrafya Nedir? •MIПΣЯVΛ• Coğrafya 3 01-05-2008 14:18
Oyuncaklarda bulunan motorlar nasıl yapılır? ..::ŞeHZaDe::.. Süper Cafe 0 25-09-2007 23:55
Lazer Nedir? Nasıl yapılır? ..::ŞeHZaDe::.. Sağlık 0 05-09-2007 17:59
Aromaterapi Nasıl Yapılır? Vi$ne Ho$afı Vücut Bakımı 0 01-07-2007 13:26
vBulletin Upgrade Nasıl Yapılır !! O'NEAL vBulletin Genel Ayarlar ve Eklentiler 4 01-06-2006 20:18


Bütün Zaman Ayarları WEZ +3 olarak düzenlenmiştir. Şu Anki Saat: 01:14 .


Powered by vBulletin 3.7.2
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0

TRplatform.Org
Yazılı Avatarlar UslanmaM bilgi MaxiCep izafet Web Hattı bebek tedavin Kitap Özetleri ilginç Resimler SMF İndir Aşk Resimleri Rüya Tabirleri Güzel Sözler