Sql Injection Anlatım
-
Müritler genelde hep bu konu üzerine sorular soruyordu bende kendi yazdığım bir dökümanı paylaşmak istedim eminim yeni başlayanlar için baya faydalı olucaktr...
Döküman Yeni Başlıyacaklar içindir ... Hatalarım Olursa Düzeltmeniz Dileğimle xD
1)Sql İnjection veri okuma tablo kolon vs
2)Tablo Kolon İsimleri Dev Arşiv
3)Admin Yolları ve Sql Update
sql bildiğimiz veri tabanı olup genelde sizin yapıcaklarınız .asp?paramtre=00 gibi bi değer bulmaktır... Siteyi bulduktan sonra sitede 'a işareti ekleyerek db den hata almamızı sağlıyacaksınız...
Karşınıza çıkıcak hatalara görede veri çekicek veya update yapıcak yada her ne Yapıcaksnz ...
Çıkabilcek olası hataları sırayla açıklıcam...
Eğer bu hata kodu çıkarsa ...
Kod:
type mismatch,
input string wasnt in correct form,
application uses a wrong type arguement for the current operation..
Büyük İhtimal yada %95 hiç bişe yapamazsınız... Başka Şeyler Deneyin...
2) Syntax error alırsanız ...
site.asp?id=0+union+select+0+from+tabloadi yaparak şifre veya kullanıcı adı çekiceksiniz gidip haber tablosunu yazıyorlar sonra haberler bölümünden user veya pass çekmeye çalışıyor ... hiç mantıklımı haberlerden user veya pass çekmek ...union+select+0+from+admin veya user veya users veya member veya members veya kullaniciadi yazarak tabloları sallıyacaksınız sizin için çıkabilcek maximun tabloları Eklenti olarak konu sonunda vericem ..... Tablo adlarını salladık ve denemeyi yaptık yani maximun bu kolonlarıı denedikten sonra ...
mesela users tablosu
tuttu farzedelim karşınıza union+select+0+from+user dan sonra şöyle bi hata gelicek
Kod:
The number of columns in the two selected tables or queries of a union query do not match. buradan sonra başlıcan mesela 0 sayısını yükseltemeye ... takii hata ekranından kurtulana kadar ...örnek :
http://www.metinturan.net/haberdetay.asp?ref_id=451+union+select+0,1,2,3,4,5,6+from+users
halen hata varken işte
http://www.metinturan.net/haberdetay.asp?ref_id=451+union+select+0,1,2,3,4,5,6,7,8+from+usersyapınca ekrana 3 ve 5 sayıları yansıdı demekki yazdığımız 3 ve numaralı kolonlar dışarı yansıyor ... bunlara şimdi malum olabilcek tablo değerlerini giricez.... örnek users tablosunda ... adi veya sifre diye tablolar buyuk vardır veritabanında ... 3 nolu tabloya adi 5 nolu tabloya ise sifre yazdığımız zaman bir bakında kullanıcı adi ve sifre dışarıya yansıdı yani kullanici adi ve şifresini çektik bazen tabi size direk rakamlar yansımaz dışarıda bi resmin içindede yansıyabilir... Dikkatli olmamız lazım örneğin orada görüntü diye yazan resmin url ye bakınca 1 yazdığını görüceksiniz orayada adi tablosunu yazarsan mesela oradada kullaniciadi çıkar url de sitenin son hali ise
http://www.metinturan.net/haberdetay.asp?ref_id=451+union+select+0,1,2,adi,4,sifre,6,7,8+from+users
Kullaniciadi ve şifreside aynı admin paneli yolunu bul gir ... admin paneli yollarının tümünüde vericem size eklentide hatta vb de yapabilirsem admin yollarını deniyecek program yazıcam
3. Hata ise unclosed hatası
bu hatada tamamen kolonlar üzerine update yapılarak bilgiler değiştirilebilir
ana komutu
http://www.site.com/dosya.asp?parametre=00+update+kolon+set+tablo='yazı';--
Tabloları ise site sonuna having 1=1 komutunu yazarak alıcaz...
Örneğin...
http://www.site.com/dosya.asp?parametre=00+having1=1 yaptık
DersimliHacker.Hıyarlar diye sistemi verdi
Burada kolon ismi = DersimliHacker
Tablo ise = Hıyarlardır ... sonra sitenin sonuna tkrr kodlama yaparak,
http://www.site.com/dosya.asp?parametre=00+group+by+hiyarlar;--
yapıcan
sonra DersimliHacker.Mallar gibi bi tablo adı çıkıcak yani amaç tabloları çekerek hepsine update yapmak ... , ile hıyarlar yanına ekliceksin...
http://www.site.com/dosya.asp?parametre=00+group+by+hıyarlar,mallar;--
diye taaaki next order gibi bi hata gelene kadar anlayınki tüm tabloları aldınız sonra başlıcaksınız update etmeye yani
site.com/dosya.asp?parametre=00+update+DersimliHacker+set+h ıyarlar='Hacked By DersimliHacker ';-- yaparak bütün tablo adlarını yazıp
hackliceksiniz unutmayın DersimliHacker kolonu her zaman sabit olucaktır Sadece değişecek sistem öğesi ... tablo adlarıdır mesela hıyarlar,mallar gibi..
İstek olursa sayfayı yönlendirme ve css ile tam sayfa basmayıda anlatırım...
asp de mssql access db (mdb) kullanan bi sitede yapabileceğiniz maximum şeyler >
tablo adını ve kolon adını bulursanız admin tablosundan k.adı pass çekip panele girersiniz
burda 1. şart panelin olması. adam gidiyo paneli olmayan sitede tablo arıyo, asp lerin %70 inde zaten access sql var paneli olanlar %10 gibi bişey..
bazılarıda haberler tablosunu tutturmuş o tablodan k.adı şifre kasıyo. artık bunları anlayın kendiniz
mysql kullanan bi sitede yapabileceğiniz maximum şeyler :
panel varsa admin tablosu kolonu okuyup panele girersiniz.tablo adını çekmek için info table ları okuma izniniz varsa tablo adlarını çekebilirsiniz yoksa deneme yanılmayla bulmaktan başka hiçbi çare yok..yapabileceğiniz 2. bi yöntemse into outfile ile dosya oluşturmak. onun yasaklanmadığı siteleride bulursanız haber verin. info tables okuma izni yoksa zaten bu 2. seçeneği direk kafanızdan silin o yasaksa bu bi zahmet yasaklanmıştır.. artı magic_quotes_gpc on sa (' >> '/ yada " > "/) bunuda unutun.. bide bazen permler nedeniyle kafanıza göre her klasörde dosya oluşturamazsınız. bkz. turkishdailynews.com.tr
ha bi de dosya kaynak kodu okursunuz load_file ile.. bu serbestse yukardakide serbest olur genelde mssql db lerde genel olarak her şey serbest. update drop insert create exec cart curt.. tabi standardında serbest. bi sitede update yasak olabileceği gibi bazen okuma izniniz bile olmayabilir... genelde guest, visitor, webuser cart curt gibi db kullanıcısıyla çalıştırılan sayfalarda update izni yoktur. bazen update serbest olur create yasak olur, bazen drop yasak olur cart curt...
db kullanıcısı dbo ise sistem komutları çalıştırabilme ihtimaliniz var (!) bazıları sanıyoki dbo olunca sistem komutları kesin çalıştırırsın. dbo olunca update drop create serbest. daha ötesine izin veren siteler hala varsa şükretmek lazım. tek tük çıkıyo tabi.. hatta ben update in bile yasak olduğu dbo sistemler gördüm... hiçbişey kesin değildir sql de bunun dışında postgre falan çoğu özelliği aynı zaten mysql ile. oracle çok kısıtlı imkan verir genelde işine yaramaz.
bi de database programı sayfanın dilinden bağımsızdır. asp bi sistem mysql oracle posgre cart curt kullanabildiği gibi php sistem mssql ms access kullanabilir... -
eyw. hocam oturup yazmışsın :)
-
Dahada geniş anlatım versiyonları çok yakında tahribat mürid ve mürideleriyle :D
-
bilgiler için teşekkürler ..
-
Çok sağol aga ya kafayı yiyicektim nasıl yapılıyo bu sql injection diye :)
-
olm sen banlanmamısmıydın :)
-
Bide bunu önlemek için döküman yazsan daha şık durur
-
Adi bir sigarayı paketinden çıkarıp parliament kutusuna sokmak sql injection'u en iyi şekilde açıklıyor aslında :\
-
hocam bence bunu video lu anlatım yap
-
legendary bunu yazdı:
-----------------------------
Bide bunu önlemek için döküman yazsan daha şık durur
-----------------------------
Dökümanlar bölümüne göz at hoca önmelek için döküman mevcut
Güzel anlatım olmuş sağlam döküman
+
her önünüze gelen siteye dalmayın loglarda çıkarsa teşebüssünüz sakata gelme ihtimaliniz var bunu unutmayın merakınızı şimdilik yabancı sitelerde deneyin. -
dersimlihacker bunu yazdı:
-----------------------------
site.asp?id=0+union+select+0+from+tabloadi yaparak şifre veya kullanıcı adı
çekiceksiniza. qdukarlım gidip haber tablosunu yazıyorlar sonra haberler
bölümünden user veya pass çekmeye çalışıyor ... a.q hiç
mantıklımı haberlerden user veya pass çekmek ...
Ne kadar zarif, ne kadar derin bir anlatım.
Demek ki insanlar ikiye ayrılıyor: dersimlihacker'ın a.qduklarıyla a.qoymadıkları olarak ...