Kullanmak oturum değişkenleri ve değil kurabiye
Birçok geliştiricinin yaptığı bir hata kullanmaktır kurabiye, internetteki görevlerimiz hakkında bilgi depolamak için küçük metin dosyaları, erişimler vb.
NS kurabiye herhangi bir tarayıcıdan kolayca okunabilir, örneğin Firefox firebug ile veya içinde Krom sağ tuş ile menüye gidiyoruz Öğeyi inceleyin.
Resimde, programcının kullanıcı girişi için nasıl bir tanımlama bilgisi oluşturduğuna ve erişim verilerini herkese açık şekilde gösterdiğine dair bir örnek görebiliriz.
Aşağıdaki resim, Google'ın kullanıcı ve şifrelerle erişimleri indekslediği bir başka kötü örnektir.
Yapılacak doğru şey, verilerin kodlandığı oturumları kullanmaktır.
Kodlanmış oturum değişkeni şöyle görünür, okunması zor olduğu için çok daha güvenlidir:
phpsessid= sb85p15841p6l1dfg7oo8hlsc85;
Daha sonra açtığımız her sayfada oturumu kontrol ettiğimiz her ekranda kısıtlı bir alan olacağını varsayıyoruz.[beden = 4] [/ beden]
Başka bir bilgisayar korsanlığı yöntemi olduğu için oturumlar tam bir çözüm değildir. Oturum çalma veya Oturum sahtekarlığı. Bu, bir saldırgan oturum açarken oturumun değerini okur ve ardından başka bir bilgisayardan erişmeye çalışırsa oluşur.
Bunu önlemek için, kullanıcının oturum açtığı ekipmanın verilerini kaydeden oturumlar oluşturabiliriz.
Önceki kodla, IP'yi ve web'e erişilen tarayıcıyı kaydeden bir oturum oluşturuyoruz, ardından oturum aktifken birinin başka bir IP'den giriş yapmaya çalışıp çalışmadığını veya başka bir tarayıcıya erişip erişemeyeceğini kontrol ediyoruz. ağ
[beden = 4] [/ beden]
Böyle bir şey yapar Facebook, başka bir cihazdan veya başka bir şehirdeki başka bir IP'den erişiyorsanız, sıklıkla hangi yerden eriştiğinizi kaydediyor.
XSS ve SQL Enjeksiyonunun Test Durumları
Güvenlik açığı bulunan web sitelerini bulmanın bir yolu, arama motoruna info_page.php = veya katalogo.php = eklemektir.
BÜYÜT
Bu bize savunmasız web sitelerinin bir listesini verecektir, .php ile biten herhangi bir web sitesi Değişken = savunmasız olabilir.Savunmasız olup olmadığını test etmek için örnek değişkene url'yi değersiz yazıyoruz:
mydomain.com/info_page.php?id=
Web savunmasızsa, aşağıdakileri söyleyen bir mysql hatasıyla yanıt verir:SQL sözdiziminizde bir hata var; 1. satırda '' yakınında kullanılacak doğru sözdizimi için MySQL sunucu sürümünüze karşılık gelen kılavuza bakın.
Bu güvenlik açığına sahip bir etki alanı bulursak, kullanıcılar veya yöneticiler tablosunu ve kaç sütuna sahip olduğunu bulursak test edebiliriz:
www.mydomain / info_page.php?id = -1 + birlik + tümü + seçim + 1,2,3, group_concat (kullanıcı_adı, 0x3a,
kullanıcı_şifre), 5 + + yöneticilerden
Bu durumda, parola ve yönetici kullanıcıyı döndürür, SQL enjeksiyonunu önlemek için, url ile parametreleri değil oturumu kullanmanız gerekir, kullanılması durumunda, sql komutlarının olmadığını doğrulayan bazı işlev veya sınıflarla parametreleri temizleyin, veya form veya url ile gönderilen parametrede javascript.Bu Eğitimi beğendiniz ve yardım ettiniz mi?Yazara olumlu puan vermek için bu düğmeye basarak yazarı ödüllendirebilirsiniz.