Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 3317|Yanıt: 2

[Kaynak] ASP.NET MVC XSS Tehlikeli İçerik Doğrulaması (ValidateInput) talep ediyor

[Bağlantıyı kopyala]
Yayınlandı 8.07.2023 22:05:07 | | | |
Gereksinimler: Kaynak kodunu ASP.NET MVC'de çıkararak istek formundaki potansiyel tehlikeli verileri doğrulamak için alın. Basitçe söylemek gerekirse, istenen verinin çapraz site betik (XSS) içeriğine sahip olduğunu doğrular,XSS MVC'de varsayılan olarak engellenmiştir

Çapraz site betik yazma (XSS), bazı web uygulamalarında bulunan bir güvenlik açığıdır. XSS saldırıları, saldırganların, diğer kullanıcıların izlediği web sayfalarına istemci tarafı betikleri enjekte etmesini sağlar. Saldırganlar, aynı köken politikaları gibi erişim kontrollerini aşmak için çapraz site betik açığını kullanabilir.

ValidateInput: Cookies (Cookie, Form ve QueryString) özellikleri üzerinden erişilen koleksiyonların doğrulanmasını sağlar. meliHttpRequestSınıf, Cookies özellik formu üzerinden QueryString'e erişen bir istek koleksiyonunda doğrulamanın yapılıp yapılmadığını izlemek için giriş doğrulama bayrağını kullanır.

public void ValidateInput() {
            Her istek için bunu birden fazla kez aramak mantıklı değil.
            Ayrıca, onay bastırıldıysa, şimdi ameliyat yok.
            if (ValidateInputWasCalled || RequestValidationSuppressed) {
                dönmek;
            }

            _Bayrak. set(hasValidateInputBeenCalled);

            Bu, bazı XSS (çapraz site betikleme) saldırılarını (ASURT 122278) önlemek için yapılmıştır
            _Bayrak. set(needToValidateQueryString);
            _Bayrak. set(needToValidateForm);
            _Bayrak. Set(needToValidCookies);
            _Bayrak. set(needToValidatePostedFiles);
            _Bayrak. set(needToValidateRawUrl);
            _Bayrak. Set(needToValidatePath);
            _Bayrak. set(needToValidatePathInfo);
            _Bayrak. set(needToValideHeaders);
        }

Belge:Bağlantı girişi görünür.

Potansiyel olarak tehlikeli verileri doğrulayın:HttpRequest -> ValidateString -> CrossSiteScriptingValidation.IsDangerousString, aşağıdaki şekilde gösterildiği gibi:



Kaynak kodu adresi:

Bağlantı girişi görünür.
Bağlantı girişi görünür.

Kaynak kodunu projenize kopyalayın ve aşağıdaki şekilde test edin:



Kaynak:


Gerçekten tehlikeli içerik almak istiyorsanız, Request.Unvalidated.Form kullanabilirsiniz.

(Son)




Önceki:ASP.NET MVC, tüm arayüz adreslerini yansıtma yoluyla alır
Önümüzdeki:.NET/C#, veritabanı bağlantılarını karşılaştırmak için SqlConnectionStringBuilder kullanır
 Ev sahibi| Yayınlandı 8.07.2023 22:06:32 |
AllowHtmlAttribute sınıfı: Model bağlama sırasında istek doğrulamasını atlayarak HTML işaretleme listelerinin eklenmesine izin verir. (Uygulamaların, script saldırılarını önlemek için istek doğrulamasını devre dışı bırakan tüm modelleri açıkça kontrol etmeleri şiddetle tavsiye edilir.) )

https://learn.microsoft.com/zh-c ... .allowhtmlattribute
 Ev sahibi| Yayınlandı 8.07.2023 22:06:49 |
ValidateAntiForgeryToken ve AutoValidAntiforgeryToken sahtecilik karşıtı etiketler ayrıntılı olarak açıklanmıştır
https://www.itsvse.com/thread-9568-1-1.html
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com