python - Sqli Dork Scanner

Will Graham

Katılımcı Üye
14 Eki 2022
602
2
496
merhaba bu konumda sizlere kendi yaptığım tool ile sqli açıklı siteleri bulmayı göstereceğim. önce size programın çalışma mantığından bahsedeyim. program girdiğiniz dork listesinde ki dorkları tek tek bing arama motorunda aratarak çıkan siteleri çeker sonra size sqli taraması yapmak istiyor musunuz diye sorar. eğer taramasını isterseniz çıkan sitelere ilk önce bir istek gönderir sonra ise sitenin sonuna tırnak (') işaretini koyarak bir istek daha gönderir. eğer gönderdiği ilk istek son gönderdiği istekten büyükse flow adlı modüle kaynak kodunu göndererek kaynak kod içerisinde "not found" gibi hataların bulunup bulunmadığını kontrol ettirir. eğer hata yoksa ekrana sqli açığını bulduğunu yazar.

programı kullanabilmek için bir dork listesine ihtiyacınız var. dorkları internette hazır olarak alabilirsiniz veya kendiniz de oluşturabilirsiniz.


hazır dorklar: SQL-injection-dorks-list/google dorks for sql injection.txt at master · rootac355/SQL-injection-dorks-list
dork oluşturmayı bilmeyenler için:
https://turkhackteam.org/konular/dork-yazma-ve-genel-terimler.2013922/
veteran dork studio: https://www.turkhackteam.org/konular/veteran-dork-studio-3-final.1035746/


dorklarınızı oluşturduktan sonra bir txt dosyasına kayıt edin ve aşağıdaki kodları terminale yazın.

Kod:
git clone https://github.com/cannibal-hannibal/Sqli-Dork-Scanner
cd Sqli-Dork-Scanner
pip3 install -r requirements.txt
python3 main.py

Örnek bir kullanım videosu
 

ankamurat

Katılımcı Üye
24 Eyl 2022
453
3
185
┌─(root@ankamurat)
merhaba bu konumda sizlere kendi yaptığım tool ile sqli açıklı siteleri bulmayı göstereceğim. önce size programın çalışma mantığından bahsedeyim. program girdiğiniz dork listesinde ki dorkları tek tek bing arama motorunda aratarak çıkan siteleri çeker sonra size sqli taraması yapmak istiyor musunuz diye sorar. eğer taramasını isterseniz çıkan sitelere ilk önce bir istek gönderir sonra ise sitenin sonuna tırnak (') işaretini koyarak bir istek daha gönderir. eğer gönderdiği ilk istek son gönderdiği istekten büyükse flow adlı modüle kaynak kodunu göndererek kaynak kod içerisinde "not found" gibi hataların bulunup bulunmadığını kontrol ettirir. eğer hata yoksa ekrana sqli açığını bulduğunu yazar.

programı kullanabilmek için bir dork listesine ihtiyacınız var. dorkları internette hazır olarak alabilirsiniz veya kendiniz de oluşturabilirsiniz.


hazır dorklar: SQL-injection-dorks-list/google dorks for sql injection.txt at master · rootac355/SQL-injection-dorks-list
dork oluşturmayı bilmeyenler için:
https://turkhackteam.org/konular/dork-yazma-ve-genel-terimler.2013922/
veteran dork studio: https://www.turkhackteam.org/konular/veteran-dork-studio-3-final.1035746/


dorklarınızı oluşturduktan sonra bir txt dosyasına kayıt edin ve aşağıdaki kodları terminale yazın.

Kod:
git clone https://github.com/cannibal-hannibal/Sqli-Dork-Scanner
cd Sqli-Dork-Scanner
pip3 install -r requirements.txt
python3 main.py

Örnek bir kullanım videosu
eline emeğine sağlık
 

Napcaz

Katılımcı Üye
28 Nis 2019
767
2
769
Cudi
dork_scan fonksiyonunun içinde nm diye bir değişken tanımlamışsın ve for döngüsünde arttırıyorsun herhalde kaç tane dork tarandı bunu tutmak istedin sonra unuttun
xxx diye bir değişken var mainde o da öylece duruyor

if ler için pythonda parantez kullanman gerekmez:D eski alışkanlar kolay bırakılmıyor değil mi

dork_scan için de sql_checker de yaptığın gibi threading in nimetlerinden faydalanabilirsin

27. satırda iki req arasındaki farkı ölçmek için virgülsüz istekten 350 çıkarmışsın bunun özel bir sebebi mi var? Yoksa kaldır farkı anlamak için birinin diğerinden büyük olması yetmiyor mu
 

Will Graham

Katılımcı Üye
14 Eki 2022
602
2
496
dork_scan fonksiyonunun içinde nm diye bir değişken tanımlamışsın ve for döngüsünde arttırıyorsun herhalde kaç tane dork tarandı bunu tutmak istedin sonra unuttun
xxx diye bir değişken var mainde o da öylece duruyor

if ler için pythonda parantez kullanman gerekmez:D eski alışkanlar kolay bırakılmıyor değil mi

dork_scan için de sql_checker de yaptığın gibi threading in nimetlerinden faydalanabilirsin

27. satırda iki req arasındaki farkı ölçmek için virgülsüz istekten 350 çıkarmışsın bunun özel bir sebebi mi var? Yoksa kaldır farkı anlamak için birinin diğerinden büyük olması yetmiyor mu
kodlara okuyan biri olacağını hiç düşünmemiştim açıkçası
nm ve xxx'i kaldırdım
ifleri parantezsiz bırakmak beni rahatsız ediyor
dork_scan'a threading eklerim
350 çıkarmamın sebebi her site farklı bir çıktı çıkarabiliyor. "not found" yazısını görünce bulundu diye işaretlemiyor ama her site de "not found" yazdırmıyor.
örneğin arapça bir siteyi kontrol ettiğini düşünelim bu arapça site hatayı arapça yazdırırsa ekrana sql açığı bulundu diye yazdırır
yorumunuz için teşekkür ederim

teşekkür ederim
 

Napcaz

Katılımcı Üye
28 Nis 2019
767
2
769
Cudi
kodlara okuyan biri olacağını hiç düşünmemiştim açıkçası
nm ve xxx'i kaldırdım
ifleri parantezsiz bırakmak beni rahatsız ediyor
dork_scan'a threading eklerim
350 çıkarmamın sebebi her site farklı bir çıktı çıkarabiliyor. "not found" yazısını görünce bulundu diye işaretlemiyor ama her site de "not found" yazdırmıyor.
örneğin arapça bir siteyi kontrol ettiğini düşünelim bu arapça site hatayı arapça yazdırırsa ekrana sql açığı bulundu diye yazdırır
yorumunuz için teşekkür ederim
Kod yazmak ne demek bilirim, emek vermek, hatalarla uğraşmak. Bunların kıymetini insanların anlamasını beklerim insanlar ise eline sağlık yazarak kıymet verdiklerini ifade etmeye çalışırlar ama bu aslında yalandır. Bir koda kıymet vermek onu eleştirmektir.

350 çıkarmak geçici bir çözüm olabilir ama mantıklı değil mantıksızlık elbet bir noktada sizi tıkıyacaktır. Hem hata cevapları çoğunlukla normal cevaplardan daha kısa olur diye tahmin ediyorum. Yani tam tersi bir koşul eklemek daha mantıklı olmaz mı? Bir sitede sql açığı olduğunu anlamanın daha net bir yolu olmalı hem bu haliyle blind sql i programınızın tespit etmesi imkansız sanıyorum.
 

Will Graham

Katılımcı Üye
14 Eki 2022
602
2
496
Kod yazmak ne demek bilirim, emek vermek, hatalarla uğraşmak. Bunların kıymetini insanların anlamasını beklerim insanlar ise eline sağlık yazarak kıymet verdiklerini ifade etmeye çalışırlar ama bu aslında yalandır. Bir koda kıymet vermek onu eleştirmektir.

350 çıkarmak geçici bir çözüm olabilir ama mantıklı değil mantıksızlık elbet bir noktada sizi tıkıyacaktır. Hem hata cevapları çoğunlukla normal cevaplardan daha kısa olur diye tahmin ediyorum. Yani tam tersi bir koşul eklemek daha mantıklı olmaz mı? Bir sitede sql açığı olduğunu anlamanın daha net bir yolu olmalı hem bu haliyle blind sql i programınızın tespit etmesi imkansız sanıyorum.
daha net bir yolu var mı bilemiyorum.
bildiğim şey şu sitenin bir sayfasında sql açığı varsa tırnak koyduğum zaman sayfada ki veriler azalıyor.
 

Napcaz

Katılımcı Üye
28 Nis 2019
767
2
769
Cudi
daha net bir yolu var mı bilemiyorum.
bildiğim şey şu sitenin bir sayfasında sql açığı varsa tırnak koyduğum zaman sayfada ki veriler azalıyor.
o zaman sadece bunu kontrol edin. if (len(s1) > len(s2)):
EDİT: siz sanırsam 350 yi "gerçekten daha büyük" olup olmadığını kontrol etmek için koda eklediniz, şimdi anladım ama bence gerek yok
 

Will Graham

Katılımcı Üye
14 Eki 2022
602
2
496
o zaman sadece bunu kontrol edin. if (len(s1) > len(s2)):
EDİT: siz sanırsam 350 yi "gerçekten daha büyük" olup olmadığını kontrol etmek için koda eklediniz, şimdi anladım ama bence gerek yok
tek istediğim bu gibi siteler gelince sql açığı olduğunu yazdırmamasıydı sadece
şuan kafam allak bullak oldu
fazlası sql açığı bulunanı yazdırmıyor, azı olmayanı yazdırıyor.

o zaman sadece bunu kontrol edin. if (len(s1) > len(s2)):
EDİT: siz sanırsam 350 yi "gerçekten daha büyük" olup olmadığını kontrol etmek için koda eklediniz, şimdi anladım ama bence gerek yok
dork_scan'a da multithread ekledim
bir kaç filtreleme daha da koydum
artık url içinde = işareti olmayanları kontrol etmeyecek
sql açığı olmayan sayfaları artık göstermez
 
Son düzenleme:

Napcaz

Katılımcı Üye
28 Nis 2019
767
2
769
Cudi
dork_scan'a da multithread ekledim
bir kaç filtreleme daha da koydum
artık url içinde = işareti olmayanları kontrol etmeyecek
sql açığı olmayan sayfaları artık göstermez
Bilgim ölçüsünde kodunuzu analiz ettim. Eminim profesyonel bir dork tarayıcısı için daha yapılması ve bilinmesi gereken bissürü şey vardır. Ama önemli olan kendimizi bir şekilde geliştirmeye çalışmak. Sizde bunu yapıyorsunuz bende aynı şekilde, çabalarımız sonuçsuz kalmayacaktır. Selametle kalın.
 
Ü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.