"Vatanını en çok seven, görevini en iyi yapandır."

  • Yeni üyeler Neler Yapmalı, Nasıl Başlamalı? Detaylar için tıklayın
    Rütbeler ve genel görevlendirme konuları hakkında bilgi almak için tıklayın
    Uzmanlık alanları hakkında bildirge için tıklayın
    Güncel forum kuralları için tıklayın
Makale ikonu

Manuel Sql İnjection 2021-01-27

indirmek için izniniz yok
MANUEL SQL İNJECTİON





Sql İnjection (Sql bir database(veritabanı) programlama dilidir. )



Sql ile yapılan kodlama hatalırından dolayı oluşan bir açıktır.
Sayfada Sql kodları çalıştırarak veri çekmeyi hedefleyen, sunucuya yönelik güvenlik açığıdır.
Birden bazla çeşidi bulunan geniş bir açıktır.
Günümüzde bir çok yerde hatta devlet sitelerinde bile Sql hatsına rastlamak mümkün.




Adım Adım Sql İnjection.

Not: Baz kod kısımlarındaki Url'lerin devamının alt satırda bulunması kod bölümünün düzeni ve okunurluk açısından yapılmıştır. Kod kısımlarındaki Url'ler bir bütündür.



1.(Açık varmı?)

İlk olarak Sql açığı arayacağımız site "kelime.asp?id=sayı" gibi değerler içerebilir("id=sayı" içermesi dorunlu değildir, "id=sayı" içermeyen web sitelerinde de sql açığı aranabilir.),
Sql İnjection saldırsı yapacağımız sitede Sql açığının olup olmadığını anlamak için sonuna " ' "(tektırnak) koyulduğunda hata veriyorsa orada Sql açığının olduğunun bir göstergesidir. Bunu yapmak yerine "Safe3" veya "Acunetix" gibi programlar aracılığıylada Sql açığı olup olmadığını tarayabiliriz.


Kod:
Please, Giriş yap or Kayıt ol to view codes content!
Hata aldığımız varsayarak devam edelim.




2.(kolon sayısı)

Kolon, veritabanı tablosunun bi nevi sütunudur.
Kolon sayısını öğrenmek için "+order+by+sayı" kodunu kullanacağız.
Kolon sayısını bulabilmek için 20 gibi bir sayıdan başlatacağım siteden hata almayana kadar devam ettireceğim.(Kolon sayısı 20 den fazla da olabilir ama genel olarak 20 den az olduğu için 20 den başlatacağım.)


Kod:
Please, Giriş yap or Kayıt ol to view codes content!
"7" de hata almadığımızı varsayarak diyer adıma geçelim.




3.(Sayı Yansıtma)

Kolon sayısını öğrendik ama şimdi kolondan veri çekerken ki kullanacağımız sayıları ve ya sayıyı yansıtacağız bunu "+union+select+sayı,sayı..." koduyla yapacağız. Bu işlemi yaparken "id" ye bu sitede eş değeri olmyacak şekilde değer vermemiz gerekiyor bunu da bulunan değerin başına "-" koyarak sağlıyoruz.

Kod:
Kod:
Please, Giriş yap or Kayıt ol to view codes content!
veya
Kod:
Please, Giriş yap or Kayıt ol to view codes content!
Bu ikisninde de asıl amaç "+union+select+" in yanına kolon sayısı kadar sayı yazmak 0 dan veya 1 den başlamışşın pek fark etmez ama birinden sonuç alınmadığı zaman diğerini denenmelidir.
Ekrana sayı ve ya sayılar yansıyacaktır bu sayının "4" olduğunu varsayarak devam edelim.




4.(version())

"version()" 'u daha önceki işlem ile aldığımız sayının yerine yazalım ve version'u alalım.


Çıkan sayı küsüratlı olabilir biz sadece ilk basamağıyle ilgileneceğiz, çıkan sayını "5" olduğunu varsayarak devam edelim.




5.(database())

Şimdi database'nin adının ne olduğuna bakalım, 3. işlem aldığımız sayının yerine yine 4. işlemdeki gibi ama bu sefer "database()" yazarak devam edelim.


Kod:
Please, Giriş yap or Kayıt ol to view codes content!
Ekranda veri tabanının ismi çıkacaktır. "nietzsche" çıktığını varsayarak devam ediyorum.




6.(hex(database))

Önceki adımda çıkan "nietzsche" ismini hex koduna çevirmemiz gerekiyor. (İnternet üzerinde bir çok hex koda çevirici bulunmaktadır.)
"nietzsche" nin hex kodu "6E6965747A73636865" dır. Bunu bir sonraki işlemde kullanacağız.





7.(Tablo Name(Tablo İsimleri))
Bu işlemi 3 alt başlıkta yapacağız


7.1- Şimdi daha önceki işlemlerde de kullandığımız ve 3. işlemde ekrana yansıyan sayı yerine bu sefer "group_concat(table_name)" kodunu yazacağız.


Kod:
Please, Giriş yap or Kayıt ol to view codes content!
7.2- En sona "+form+information_schema.tables+where+table_schem a=" ekleyeceğiz.


Kod:
Please, Giriş yap or Kayıt ol to view codes content!
7.3- Hex koduna çevirdiğimiz veritabanı ismini başına "0x" ekleyerak en sona yazacaz.


Kod:
Please, Giriş yap or Kayıt ol to view codes content!
Ekrana tablo isimleri yansıyacaktır.






8.(Admin)

7.yapyığımız işlemle ekranda tablo adlarını var biz buradan işimize yarayanı çekeceğiz.(siz isterseniz hedef sitenizdeki diğer tabloları da inceleyebilirsiniz.)
Admin panele giriş yapabilmek için admin bilgilerine ihtiyacımız var.(Bunlar her tabloda farklı yerlerde konumlandırılmış olabilir siz admin bilgilerini verebilecek uygun tabloları sırayla deneyerek bu verilere ulaşabilirsiniz.)
Çıkan tablolardan birinin ismini "admin" var sayalım, yine "admin" kelimesini hex koduna çeviriyoruz ve tablonun sonuna "+and+table_name=" koyuyruz, bunu da sonuna "0x" ile admin'in hex kodu olan "61646D696E" ekliyoruz.


Kod:
Please, Giriş yap or Kayıt ol to view codes content!
Karşımıza admin tablosunda bulunan başlıklar çıkacaktır.




9.(user - password)

Admin tablosunun başlıkları arasında bizim admin panel girişte kullanacağımız değerleri çekmemiz gerekiyor bu başlıklar "user - password" varsayarak devam edelim.
Diğer işlemlerde de kullanıdığımız 3. işlemde ulaştığımız sayınya bu sefer başlık ismini yazacağız ve en sona "+from+tabloAdı" ekleyeceğiz


Kod:
Please, Giriş yap or Kayıt ol to view codes content!
Admin panelin Password'una ulaşdık sıra "user"de.
Kod:
Böylelikle admin panele giriş için gerekli olan bilgilere ulaşmış olduk.





Md5, Sha,...

Bazı siterde "password" direkt gözükebilir, bazı siteler de "Md5, Sha,..." gibi şifreleme yöntemleriyle şifrelenmiş olarak gözükebilir bu şifreleri kırmak gerekir.(Decrypt MD5, SHA1, MySQL, NTLM, SHA256, SHA512, Wordpress, Bcrypt hashes for free online size yardımcı olabilir.)
Yazar
1njecti0n
İndirilme
1
İlk Yayınlama
Son Güncelleme
Değerlendirme
0.00 yıldız(lar) 0 rating

1njecti0n kullanıcısının diğer makaleleri;

Üst