SQL Injection Anlatımı ~ 'Gandalf

'Gandalf

Uzman üye
8 Ocak 2017
1,897
0
Aet
4zA8pJ.jpg

SQL Injection Anlatımı

Görseller eşliğinde detaylı anlatıma geçmeden önce veritabanını, SQL'i ardından SQL Injection'ı tanıyalım diyorum.

Veritabanı(Database) Nedir?

Veritabanı herhangi bir sistemin tüm objelerinin toplandığı alana verilen addır. İngiliz dilinde "Database" olarak adlandırılır ve internet dünyasında çoğunluğu bu ad oluşturur. Daha kısa bir tanım ile açıklamak gerekirse veritabanı, sistemdeki verilerin tümüdür.

Structured Query Language(SQL) Nedir?

Structured Query Language yani SQL bir veritabanı yönetim organıdır ve sistemin kendisidir. Açılımına baktığımızda son kelime bizim dikkatimizi çekmektedir: Language. Language, İngilizce bir sözcüktür ve Türkçe karşılı dil, lisandır. Evet, SQL bir dildir. Ancak çalışma prensipleri farklıdır. SQL, kullanıcı ile veritabanı arasındaki bir köprüdür. Kullanıcının bu köprüden geçme girişimine ise "Veritabanı Sorgusu" adı verilmektedir.

SQL Injection Nedir?

Yukarıdaki tanımlarda anlatmış olduğumuz sistemin birde açığı vardır. Bu açıktan yararlanılarak sisteme yetkisiz bir biçimde sızmaya SQL Injection adı verilir. SQL Injection dünya çapında çok fazla kullanılmaktadır ve en popüler güvenlik açığıdır. Birçok sitede mevcuttur ve yıllardır diriliğini korumaktadır. Şimdi gelelim bu açığın nasıl meydana geldiğine: "Veritabanı ile kullanıcı arasındaki köprü" diye nitelendirmiştik SQL'i hatırlarsanız. İşte SQL Injection imkanı da SQL kodlardaki yanlışlıklardan meydana gelmektedir. Bu yanlışlıklar insan kaynaklı olacağı için bakkal sitesinden tutun devlet sitelerine kadar her sistemde bulunabilir. SQL Injection ile neler yapılabileceğine gelecek olursak, sızmış olduğunuz sistemin veritabanına ulaşabileceğiniz için sistemdeki tüm verileri çalabilirsiniz. Bu saldırı yöntemini kullanmakta bize yardımcı olacak programları görseller eşliğinde sizlere açıkladığımızda daha etkili olacağını düşünüyorum.


2ad540.png

SQLMAP


SQL Injection anlatımımızdaki ilk veri çekme yöntemi olan sqlmap, cmd altyapısını kullanarak hedef siteden veri çekmemizi sağlıyor. Madde madde anlatıma geçebiliriz:

1)- Öncelikle açıklı bir site bulmalısınız. Bu işlem için Safe 3, Türk-Altay v3.0 programlarını kullanabilirsiniz yahut kendi yöntemlerinizle herhangi bir programdan destek almadan bu işi gerçekleştirebilirsiniz. Ancak açıklı site ararken güncel siteleri hedef almanız sizin yararınıza olacaktır. Güncel siteleri bulabilmek için ise "Tümü, Görseller" şeklinde devam eden butonların en sağında yer alan "Araçlar" simgesine tıklamalısınız. Tıkladıktan sonra "Herhangi bir zaman" seçeneğine tıklayıp bir aralık belirlemelisiniz. Bu şekilde güncel sitelere erişim sağlarsınız.

2)- Hedef bir site belirledikten sonra Python 2.7'ye ve sqlmap dosyasına ihtiyacımız var. Bunları bir şekilde temin ettikten sonra sqlmap'i açıp kodlarımızı yazıyoruz:

"sqlmap.py -u site adresi--dbs"

bu kodu yazdığınız zaman tarama işlemi gerçekleşecektir. Saldırı başarılı olursa kolonlar önünüze düşmeye başlar, bundan sonra yazacağımız kod ise şudur:

"sqlmap.py -u site adresi-D databaseismi --tables"
(Kolon adını yazarken "schame" olmamasına dikkat edin.)


seçtiğiniz kolon açılıp, istediğiniz seçeneği belirledikten sonra bu kodu yazıyoruz:

"sqlmap.py -u site adresi-D databaseismi -T tablolar --columns"

bu işlemi de gerçekleştirdikten sonra dilediğiniz veriyi çekebilirsiniz:

"sqlmap.py -u site adresi-D databaseismi -T admin -C tablolar --dump"


Y6yJ9z.png

Havij


Havij, sqlmap'e göre daha çok tercih edilir. Bundaki etken Havij ile SQL Injection'un daha kolay gerçekleşmesidir. Arayüzü görseldeki gibi olan Havij, sqlmap'te kodlarını yazarak gerçekleştirdiğimiz işlemleri butonlara ekleyip yapacağımız işlemin daha kolay olmasını sağlıyor. Şimdi madde madde anlatıma geçelim:
- Yine bir hedef site bulmanız gerekiyor bunun için "SQLMAP" başlığındaki birinci maddeyi okuyabilirsiniz. Hedef siteyi belirledikten sonra "Target" yazan yere sql açık linkini yapıştırıyoruz. Yine sqlmap'teki gibi bir analiz yapacaktır ve başarılı olursa size kolonlara erişme imkanı sağlayacaktır.
- İşlem başarılı olduktan sonra "Tables" ardından "Get Tables" seçeneklerine tıklıyoruz. Sol da yer alan sayfaya birçok kolon düşecektir. Dilediğinizi seçip "Get Collumns" ardından yine belirlediğiniz kolonu seçip "Get Data" diyoruz. Seçtiğiniz şey admin şifresi, telefon numarası yahut farklı kişisel bilgiler olabilir. Ne seçerseniz seçin "Get Data" butonuna tıkladığınız zaman sağ taraftaki sayfada bilgiler sıralı bir şekilde gelecektir.


vPGR26.png

Türk Altay v3.0


Türk-Altay v3.0 programı sadece SQL Injection için değil, SQL Scanner, SQL Login Bypass, Admin Panel Bulucu, Denial of Service gibi birçok hack aracı içinde kullanılmaktadır. Bunlara ek olarak program Türk yapımıdır ve bu programı makalenin en güzel içeriği yapan şey de budur. Program Havij ile benzer çalışmaktadır ve farklardından bir tanesi Türk-Altay v3.0 programının Türkçe olmasıdır. Yine madde madde anlatıma geçelim:
- Hedef site belirlemeyi artık ezberlemişsinizdir diye umut ediyorum. Aynı işlem, hedef site belirlenir ve açıklı url "Hedef Site" yazan yere yapıştırılır. Analiz gerçekleşir ve başarı elde edilirse veritabanına giriş sağlanır.
- Veritabanına giriş yaptıktan sonra sırasıyla "Tablo Çek", "Kolon Çek" ve "Veri Çek" butonlarına basılır.
 
Son düzenleme:

Bykurabiye

Kıdemli Üye
8 Eyl 2016
2,519
3
Hocam yanlış anlamayın ama bunun ile ilgili zaten sabitlenmiş ve çok güzel bir konu var.Neden bir daha açma gereği duydunuz ?
 

'Gandalf

Uzman üye
8 Ocak 2017
1,897
0
Aet
Hocam yanlış anlamayın ama bunun ile ilgili zaten sabitlenmiş ve çok güzel bir konu var.Neden bir daha açma gereği duydunuz ?

Böyle bir soru yöneltilmesini bekliyordum. Doğrudur haklısınız. Ancak farklı üsluplardan okumak kimseye zarar vermez. Ek olarak bu konuda 2017 yılında çıkmış bir yardımcı programında anlatımı mevcuttur.
 

Bykurabiye

Kıdemli Üye
8 Eyl 2016
2,519
3
Böyle bir soru yöneltilmesini bekliyordum. Doğrudur haklısınız. Ancak farklı üsluplardan okumak kimseye zarar vermez. Ek olarak bu konuda 2017 yılında çıkmış bir yardımcı programında anlatımı mevcuttur.

Beklediğinizi biliyordum,cevabı merak etmiştim. cevabıda güzelmiş :trl
 

M3m0ry

Kıdemli Üye
3 Haz 2017
4,411
129
4
xD
Böyle bir soru yöneltilmesini bekliyordum. Doğrudur haklısınız. Ancak farklı üsluplardan okumak kimseye zarar vermez. Ek olarak bu konuda 2017 yılında çıkmış bir yardımcı programında anlatımı mevcuttur.

Hocam forumda gördüğüm en mantıklı cevaplardan birisiydi. Bu arada konu görünüş olarak çok güzelmiş. şimdi okumaya geçiyorum. ellerinize sağlık :)
 

'Gandalf

Uzman üye
8 Ocak 2017
1,897
0
Aet
Hocam forumda gördüğüm en mantıklı cevaplardan birisiydi. Bu arada konu görünüş olarak çok güzelmiş. şimdi okumaya geçiyorum. ellerinize sağlık :)

Kendimce bu renkler konuya antik bir hava ve ağırlık katıyor. Forumda teknik bazlı konular çoğunlukla göz alan renklerle donatılmış durumda. Teşekkür ederim keyifli okumalar.
 

0x6CCE

Kıdemli Üye
8 Eyl 2016
3,650
1
183
22
Shawty
-D den sonra kolon ismi değilde database ismi olması gerekir,
-T den sonraki kısımda seçenek değil tablolar olarak düzeltirseniz iyi olur hocam güzel konu olmuş. :):
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.