SQL Açığı Nasıl Bulunur?
TECNOFATHER SİTESİNE TEŞEKKÜR EDERİM BÖYLE GÜZEL BİR ANLATMA YAPTIĞI İÇİN RESPECT.
Sql açıkları bazen şans eseri karşınıza çıkabilir ama çoğu zaman SQL açığa uygun dorklarla bulunması mümkündür. Dorkların çeşitleri vardır örneğin wordpress dorkları joomla dorkları sql dorkları vb. bu listeyi daha uzatabilirsiniz. Dorkdaki amaç sizin SQL açığınıza uygun arama sonuçlarına ulaştırması. Aşşağıda dork örnekleri verilmiştir sizde istediğiniz herhangi birini seçip Google’da deneyebilirsiniz. Şimdilik aşşağıda olan dorklarla yetinebilirsiniz, eğer az gelirse google SQL dork yazarak binlercesini bulabilirsiniz.
Örnek Google SQL Dorklar
play_old.php?id=
declaration_more.php?decl_id=
Pageid=
games.php?id=
newsDetail.php?id=
staff_id=
historialeer.php?num=
product-item.php?id=
news_view.php?id=
humor.php?id=
communique_detail.php?id=
sem.php3?id=
opinions.php?id=
room-detail.php?id=Bu dorkların sonuçlarında hedef bir site mutlaka çıkıcaktır sabırlı olun. Karşınıza çıkan sitenin SQL açıklı olduğunu şöyle anlayabilirsiniz.
http://testphp.vulnweb.com/listproducts.php?cat=1
Bu URL normal bir URL olarak gözukuyor ama 1 sayısının yanına ‘(kesme işareti) eklediğinizde eğer hata veriyorsa o site SQL açığı mevcuttur.Örnek bir fotoğraf aşşağıda verilmiştir.
http://testphp.vulnweb.com/listproducts.php?cat=1‘

Kesme işaretli hali ile SQL hatası verince aşşağıdakine benzer hata çıktısı alabilirsiniz.
Gördüğünüz gibi hata verdi demek ki bu sitede bir SQL açığı mevcut. Unutmayın her bulduğunuz SQL açığı ile site hackleyemezsiniz. Çünkü bazen veritabanı şifreleri SHA-256, MD5 vb. şifreleme ile karşınıza çıkabilir ve kırılması zordur.
SQL Açıklı Site Nasıl Hacklenir?
Öncelikle SQL açıklı sitemizin SQL açık gösterilmeden önceki halini kopyalayım.
Örnek: http://testphp.vulnweb.com/listproducts.php?cat=1
Sqlmap açıktıktan sonra ilk testimizi yapalım. Aşşağıdaki komutu yazalım.

sqlmap -u “http://testphp.vulnweb.com/listproducts.php?cat=1” --dbsBu komutu yazdıktan sonra tamamlanmasını bekliyoruz. Tamamlandıktan sonra karşınıza veritabanları çıkıcaktır.
O veritabanlarından sitenin şifresinin, kullanıcılarının olduğunu düşündüğünüz veritabanın adını kopyalayın ve kırmızı olarak belirtiğim yere ekleyin ve ardından aşşağıdaki komutları yazın.

sqlmap -u “http://testphp.vulnweb.com/listproducts.php?cat=1” -D veritabaniadi --tablesBu işlemde tamamlandıktan sonra karşınıza veritabanı tablolar çıkıcaktır kullanıcılar,musteriler vb. tabloların birini seçin ve adını kopyalayın. Kopyaladıktan sonra yeni adımda o tabloyu kırmızı belirttiğim yere yapıştırabilirsiniz.

sqlmap -u “http://testphp.vulnweb.com/listproducts.php?cat=1” -D veritabaniadi -T veritabanıtablosu --columnsArdından tamamlandıktan sonra karşınıza kolonlar çıkıcaktır. Users, passwords, kullanici, şifre vb. şeyler olabilir farketmez siz hangisine ulaşmak istiyorsanız onu aşşağıdaki komutta kırmızı belirttiğim yere virgül ile çoklu olarak bulabilirsiniz. Aşşağıdaki komutu uygulayalım ve sonuçları görelim.

sqlmap -u “http://testphp.vulnweb.com/listproducts.php?cat=1” -D veritabaniadi -T veritabanıtablosu -C kullanici,parola --dumpArtık sızdığınız sitenin kullanıcı adı, şifre, email vb.bilgileri elinize geçmiştir. Bazılarınıza direk normal olarak şifreler elinize geçebilir bazılarınıza ise SHA-256, MD5 gibi şifrelenerek geçmiş olabilir ama çok zor bunların kırılması, zaman isteyen bir süreç diyelim. Artık sitede istediğinizi yapabilirsiniz admin panel bularak elinizdeki bilgiler ile siteyi ele geçirebilirsiniz. Bu içerik kesinlikle kötü şekilde kullanılmamalı, eğitim için yazılmıştır. Bilinçli olmakta fayda var. Pentest yapılması site sahibinin izniyle gerçekleşmelidir, aksi takdirde yasaklı ve suç teşkil ediyor. Sağlıcakla kalın bir sonraki yazımızda görüşmek üzere.
Comments
Post a Comment