MySQL : Auth Injection
Dökümanı anlayabilmemiz için temel seviyede MySQL ve PHP bilgisi gerekmektedir. Bu uyarı akabinde gerekli şartların sağlandığını varsayarak dökümanıma başlıyorum.
Dökümanda bahsedeceğim konu; MySQL Login işleminde yapılabilecek auth enjeksiyon.
------------------------------------------------------------------------------------------------------
Evet arkadaşlar login sayfamdaki kodları inceleyelim ve mantığı anlayalım;
sayfa1:login.php
Açıklama: Bu sayfada login için gerekli olan input ve buttonlarımızı belirliyorum.
------------------------------------------------------
------------------------------------------------------
sayfa2:login2.php
------------------------------------------------------
------------------------------------------------------
Ana işlemlerimiz login2.php içinde olduğu için incelemeye başlıyalım;
Gördüğünüz gibi MySQL Connection'u gerçekleştirdikten sonra post değerlerini alıyor ve if sorgusuna sokuyoruz.
Eğer bilgiler doğru ise "Başarıyla giriş yaptın", Değil ise "Girdiğin bilgiler yanlis, Kullandigin parola: Girilen Parola değerini" mesajlarını alıyoruz.
Çok fazla kafa şişirmeden enjeksiyon olayına geçmek istiyorum. Önce bi log-in işlemi deniyelim;
Başarıyla login olduk. Şimdi yanlış bilgilerle login olalım;
Burada güvenlik açığı teşkil eden olan şudur;
------------------------------------------------------
Kodumuz; SELECT * FROM user WHERE user='$username' AND password='$password'
Doğrulamamızı yaparken; AND password='$password' - kısmında eğer parola doğru ise True değeri dönüyor ise sorunsuz bi şekilde olay gerçekleşecektir.
Fakat; AND password='$password' kodunu -> AND password=' ' OR ''=' ' şeklinde aldığımızda yeniden True değeri dönecektir.. Enjeksiyon burada gerçekleşecektir..
Neden mi?
İnceleyelim;
1. Parola kısmını boş bırakıyoruz
2. OR(Veya) ile başlıyoruz ve ' '=' ' eşitliğini giriyoruz. ' '=' ' doğru bir ifade olduğu için sorgudan True değeri dönüyor ve login olabiliyoruz. Burada önemli olan eşitliği sağlamaktır. Gireceğimiz kod 'x'='x veya '1'='1 de olabilirdi önemli olan eşitliğin sağlanmasıdır arkadaşlar.
Hepsi bu kadar ve içerideyiz...
Hit: 5869
Yazar: Holyzone