Şimdi bu güvenlik açıklarını nasıl önleyebileceğimizi konuşalım.
Birincisi, sağladıkları işlevsellik nedeniyle bu güvenlik açıklarının birçoğu var.
Örneğin dosya yükleme sorunu yaşadık.
Kullanıcının herhangi bir dosya uzantısını herhangi bir dosya türünü yüklemesine izin verir.
Bu olmamalıydı.
Kullanıcıların istedikleri dosyaları yüklemelerinin bir yolu olmamalıdır.
Belki bir resim yüklemelerini istiyorsanız, resim yüklediklerinden emin olun, dosya türlerini kontrol
edin.
Bir şarkıyı boş bir üç dosya yüklemelerini bekliyorsanız, bunun bir medya dosyası olduğundan emin olun.
Bu bir BHP veya çalıştırılabilir bir kod değil.
Genellikle, kullanıcıların yok olmalarını kontrol edip etmediklerini kontrol etmek ve dosyanın JPEG ya da başka
bir şekilde yüklendiğinden emin olmak için çalıştırılabilir filtreler yüklemelerine asla izin
vermemelisiniz.
En iyi yol, dosya türünü kontrol etmek ve dosya türünün bir resim olduğundan
veya uzantıyı denetlemek yerine medya dosyası olduğundan emin olmaktır;
Baktığımız ikinci güvenlik açığı türü, kod yürütme güvenlik açıklarıydı ve bu
istismarlar, hedef bilgisayarda istediğimiz herhangi bir kodu çalıştırabiliyorduk.
Yine bu işlevsellikten kaçınılmalıdır.
Kullanıcıların sunucunuzda herhangi bir kod çalıştırmasına izin vermekten kaçınmalısınız.
Gelişen geçiş gibi tüm bu işlevlerden ve kullanıcının böyle bir şey
kullanmanız gerektiğinde sunucuda işletim sistemi kodunu çalıştırmasına izin veren tüm bu işlevlerden kaçınmaya çalışın,
ardından çalıştırmadan önce girişi analiz ettiğinizden emin olun.
Örneğin, kodun nerede ping yaptığını gördük ve metin kutusuna koyduğumuz her şeyi
düşündü.
Bu yüzden buraya, sadece bunun metin kutusuna koyduğumuz girdi olduğunu göstermek için metin kutusunu kestim.
Programın gerçekte neye benzediği gibi görünüyorsa, çok karmaşık görünüyorsa unut gitsin.
Burada sadece konseptten bahsediyoruz.
Yani bu yıl hakkında konuşacağız. Örneğin, yaptığımız şeyi koyup normal
bir IP koyduktan sonra noktalı virgül koyduk ve sonra yapmak istediğimiz
bir komutu koyduk. A. Bununla ilgili sorun,
bu işlemi, kopyalandığı şekilde alıp burada çalıştırmak için kullanılan web
uygulamasıdır. A. istediğimiz buydu.
Yapmanız gereken şey, örneğin eğer yapmak zorundaysanız, tavsiye ettiğim şey, eğer böyle bir
işlevi kullanmak zorundaysanız bu işlevleri kullanmamanızdır.
O zaman yapmanız gereken şey, girişin ne beklediğinizi kontrol etmektir, örneğin bir IP adresi
bekliyorsunuz, başka bir şey yok.
Bu yüzden emin olmak için projeleri kullanabilirsiniz ve projeler hakkında konuşmayacağım ya da hangi projelerin
reddedildiği temel olarak girişin aşağıdaki biçimde görünmesini sağlayacak bir kuraldır.
Bu yüzden bir rakam hanesi nokta hanesi hanesi
nokta hanesi hanesi alır.
Ayrıca noktalı virgül olmadığından ve boşluk olmadığından da emin olabilirsiniz.
Böylece her şey bir şey olarak gelir ve sonra idam edilir.
Yine bu daha güvenli hale getirmenin bir yoludur, ancak en iyi şey, bu işlevlerden
kaçınmak için baktığımız üçüncü tür güvenlik açığı dosya eklemesiydi ve
iki türe baktık. sistemde ve sonra bir dosya ifşa güvenlik açığına
neden olacak dosyaları okuyun.
Ve sonra sunucudaki herhangi bir dosyayı okuyabilir ve daha sonra herhangi bir
web sunucusundan herhangi bir dosyayı eklememize izin veren çok tehlikeli olan uzak dosya listesine baktık.
Böylece BHP şeyllerini ekleyebildik ve daha sonra hedef bilgisayardan bağlantı kurabildik, bunların hepsinin önlenmesi için
uzaktaki dosyaların dahil edilmesini önlediğinizden emin olun.
Dolayısıyla, herhangi bir sorun çıkarsa, insanlar sunucunuzun dışından dosya ekleyemez ve açık bırakılmasına
izin ver ve devre dışı bırakmana izin vermeyi devre dışı bırakarak arkamdaki sayfayı
kullanarak yaptığımız gibi yapabilirsin.
Ve buraya iyi yararlanmamız için buraya gelirsek, size çok çabuk göstereceğim.
Yani metin editörü olan Nano'yu sözde yaparsak ECPAT PCG IPH kullandığımız dosya kadar küçük olur.
Bu, HP ayarlarının dosyasıdır.
Eğer bu dosyayı açarsanız ve şimdi kontrol edeceğim, ben sizin URL'nize izin vermeye çalışacağım ve Elif'in açıkça
söyleyebildiğinden emin olmanızı ve l'inizin de dahil edilmesine izin verdiğinden emin olmanızı
istiyorum.
X y'yi kontrol edin ve girin; bu istismarları
önlemenin başka bir yolu da sizin için saklayacağınız statik dosya eklemektir.
Gördüğümüz dinamik dosya içeriğini kullanmak yerine, koda dahil etmek istediğiniz dosyaları zor
kodlayabilir ve bunları alıp almadıkça değiştiremezsiniz, örneğin neler olup bittiğini ve
savunmasız örneklerde gördüğümüz örnekleri bir sayfa BHP'nin ve daha sonra bu indeksin yaptığı sayfa veya indeksi çağırdı.
BHP, sayfa adı verilen bir parametre alır ve ardından BHP'nin ve kod içindeki bu yeni boşluğu içerdiği haberler
için başka bir sayfa alır.
Peki sayfa kodunda kodun nasıl göründüğünü içerdiğini göreceksiniz.
Peki bu temelde ne yapacak ve buna benzeyen şey, bunun ne olduğuna inanıyorum.
Sayfa parametresinden sonra gelenleri içerir; kod, sayfa parametresinden sonra gelenleri dinamik olarak alır
ve geçerli sayfaya dahil eder.
Yani bu BHP sayfası bu dizinde olacaktır.
Bu çok kötü, çünkü insanların kullanmasalar bile, bazen insanlar bir serseri verdi.
Bunu görmeyeceksin.
Böylece ilan edilecektir ancak doğum vekili gibi bir vekil kullanabilirsiniz.
Ve bu böyle görünür ve sonra onu değiştirebilir ve istediğiniz herhangi bir şeyi dahil etmesini
sağlayabilirsiniz ve sonra sayfada görüntülenir.
Gerçekten yapmak istediğimiz, kullanıcının dahil edilecek olanı manipüle edememesini istememizdir.
Bu nedenle, BHP'nin bu içeriğe, kullanıcının değiştirmesine izin vermeden içerdiği haber adı verilen bir
sayfa eklemek isterseniz.
Kodunuzu sadece böyle görünmesi için programlayacağınızı biliyorum, ancak kullanıcıların bununla nasıl oynayabileceğini gördüklerini biliyoruz
ve sadece istedikleri herhangi bir şeyi içerecek şekilde aldık.
Bu yüzden bunu yapmanın en iyi yolu sadece BHP sayfasını dahil etmektir.
Yani kodunuz değişken kullanmıyor, kodlaması zor.
Kodunuzu daha uzun günlüğe kaydedebilir, ancak çok daha güvenli.