MySQL İnjection

Discussion in 'Hack Dökümanları - Hack Articles' started by risk-master, Nov 3, 2018.

  1. risk-master

    risk-master Üst Tabaka

    Mesajlar:
    57
    Likes Received:
    58
    [​IMG]

    MySQL Nedir?

    MySQL şu anda internetteki en popüler açık kaynak kodlu veritabanı yazılımıdır. Tüm verileri tek bir ambara yığmak yerine farklı tablolarda ve veritabanlarında düzenli bir biçimde saklamaya yarayan depolama alanıdır.

    Injection'a Başlangıç

    Öncelikle site açığı bulabilmek için; Google veya benzeri bir arama motorundan çeşitli parametreler girerek istediğimiz gibi bir site buluyoruz.

    Siteleri bulmamız için; Dork'a ihtiyaç lazım ve internette birçok dork mevcuttur.

    Örneğin;

    Linkleri görebilmek için login-giriş yapman gerekiyor veya konuya like atman lazım

    Hedef sitede açık olup olmadığını anlamak için;

    Linkleri görebilmek için login-giriş yapman gerekiyor veya konuya like atman lazım

    Yada ‘’ veya ‘ olmazsa ‘-- gibi çeşitli özel işaretler konulur.

    Eğer site bu hatayı verirse;

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/galeripag1/domains/galeripago.com/public_html/urunler.php on line 21

    Ya da;

    You have an error in SQL syntax; check the manual that corresponds to your MySQL server version fort he right syntax to use near ‘\\’’ at line 1

    Hatamızı aldıktan sonra kolon sayılarını bulacağız.

    Bunu yapmak içinde;

    Linkleri görebilmek için login-giriş yapman gerekiyor veya konuya like atman lazım

    Eğer sitede 10'da sayfa normal olarak düzgün sorunsuz bir şekilde gözüküyorsa hata yoksa demek ki 10'dan yüksek kolon sayısı vardır.

    Linkleri görebilmek için login-giriş yapman gerekiyor veya konuya like atman lazım

    Örneğin; Kolon sayısına 15 dedik ve şu hatayı aldık.

    Unknown column ‘15’ in ‘order clause’

    Bu demek oluyor ki kolon sayımız 14'tür.

    Bundan sonra ise; union+select ile çekeceğiz ve siteye sayfalar yansıyacak.

    Linkleri görebilmek için login-giriş yapman gerekiyor veya konuya like atman lazım

    Bunu yaptıktan sonra sayfaya kolonlar yansıyacaktır. O kolonlarda işlemimize devam edeceğiz.

    Örneğin; Diyelim ki ekrana 5 ve 6 rakamları yansıdı.

    5

    6

    Bundan sonrası ise versiyon bulacağız.

    Linkleri görebilmek için login-giriş yapman gerekiyor veya konuya like atman lazım

    Böyle yaptıktan sonra ekrana böyle bir sayılar yansıyacak.

    5.6347..1 gibi.

    Örneğin; Versiyon 5 olduğu için bu siteye her şeyi yapabiliriz.

    Linkleri görebilmek için login-giriş yapman gerekiyor veya konuya like atman lazım

    Linkleri görebilmek için login-giriş yapman gerekiyor veya konuya like atman lazım

    Bu artarak gider ve tablo adlarını tek tek buluruz. Ama Versiyon 5'te tek tek tablo yansıtmamıza gerek yok. Tek seferde bütün tabloları yansıtabiliriz.

    Nasıl mı?

    Linkleri görebilmek için login-giriş yapman gerekiyor veya konuya like atman lazım

    User adlı tablo ismi var ve muhtemelen admin kullanıcı adları ve şifreleri yani id ve pass'lar burada tutuluyor olmalı.


    Linkleri görebilmek için login-giriş yapman gerekiyor veya konuya like atman lazım

    Evet bunu yaptığımızda hata aldık;

    You have an error in SQL syntax; check the manual that corresponds to your MySQL server version fort he right syntax to use near ‘\\’’ at line 1

    User’i hexliyelim.

    Hexlemek için; Linkleri görebilmek için login-giriş yapman gerekiyor veya konuya like atman lazım

    Hexledik ve sonuç ortada.

    75736572

    Sonra ise hexlediğimiz numaranın başına 0x ekleyelim sonuç = 0x75736572

    Yani;

    Linkleri görebilmek için login-giriş yapman gerekiyor veya konuya like atman lazım

    Evet, sonuç bu şimdi ise şunları ekleyelim.

    Ekleyeceğimiz; +limit+1+ofset+1

    Linkleri görebilmek için login-giriş yapman gerekiyor veya konuya like atman lazım

    Gelen sonuç;

    Şimdi ise; Sitenin sonundaki 1'i 2 yapacağız.

    Linkleri görebilmek için login-giriş yapman gerekiyor veya konuya like atman lazım

    Gelen sonuç;

    Sitenin sonundaki 2'yi 3 yapacağız.

    Linkleri görebilmek için login-giriş yapman gerekiyor veya konuya like atman lazım

    Sitenin sonundaki 3'ü 4 yapalım.

    Linkleri görebilmek için login-giriş yapman gerekiyor veya konuya like atman lazım

    Evet bize gerekenleri çektik de denebilir. Hatırlayalım arkadaşlar +offset+1 ‘de user_name vardı. Şimdi de user_pass çektik ve şimdi deneyelim.

    Şimdi user_name neymiş ona bakalım.

    Linkleri görebilmek için login-giriş yapman gerekiyor veya konuya like atman lazım ,6,7,8,9,10,11,12,13,14+from+user

    Gördüğünüz gibi.

    username: shoaib

    Şimdi ise user_pass çekeceğiz.

    Linkleri görebilmek için login-giriş yapman gerekiyor veya konuya like atman lazım ,6,7,8,9,10,11,12,13,14+from+user

    MD5 verdi. Bunu kırdığımızda şifreyi elde edeceğiz.

    MD5 şifrelerini kırmak için; Linkleri görebilmek için login-giriş yapman gerekiyor veya konuya like atman lazım

    Kıralım ve bakalım sonuç neymiş.

    Ve sonuç olarak şifreyi de kırdık;

    Password: 123456

    Çıktı ve zaten username'yi yukarıda ekrana yansıtmıştık.

    Sonuç olarak;

    Username: shoaib
    Password: 123456

    Bundan sonrası yapacağımız iş ise admin panelini bulmak.

    Peki, Admin Panelleri Ne Olabilir?

    Genellikle admin panelleri bu isimlerde olur;

    Admin, admins, administrator, user, users vb. gibi.

    Not: Admin panellerini çeşitli programlarla ya da bu şekilde manuel olarak bulabilirsiniz.
     
Loading...

Bu sayfayı Paylaş