Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 3317|Jawab: 2

[Sumber] ASP.NET MVC meminta Validasi Konten Berbahaya XSS (ValidateInput)

[Salin tautan]
Diposting pada 08/07/2023 22.05.07 | | | |
Persyaratan: Ekstrak kode sumber di MVC ASP.NET untuk memvalidasi data yang berpotensi berbahaya dalam formulir permintaan. Sederhananya, ini memverifikasi bahwa data yang diminta memiliki konten skrip lintas situs (XSS),XSS diblokir secara default di MVC

Skrip lintas situs (XSS) adalah kerentanan keamanan yang dapat ditemukan di beberapa aplikasi web. Serangan XSS memungkinkan penyerang untuk menyuntikkan skrip sisi klien ke halaman web yang dilihat oleh pengguna lain. Penyerang dapat mengeksploitasi kerentanan skrip lintas situs untuk melewati kontrol akses seperti kebijakan asal yang sama.

ValidateInput: Melemparkan validasi koleksi yang diakses melalui properti Cookie, Form, dan QueryString. sebaiknyaPermintaan HttpKelas menggunakan bendera validasi input untuk melacak apakah validasi dilakukan pada kumpulan permintaan yang mengakses QueryString melalui Formulir properti Cookie.

public void ValidateInput() {
            Tidak masuk akal untuk memanggil ini beberapa kali per permintaan.
            Selain itu, jika validasi ditekan, jangan operasi sekarang.
            if (ValidateInputWasCalled || RequestValidationSuppressed) {
                kembali;
            }

            _Bendera. Set(hasValidateInputBeenCalled);

            Ini untuk mencegah beberapa serangan XSS (skrip lintas situs) (ASURT 122278)
            _Bendera. Set(perluValidateQueryString);
            _Bendera. Set(perluFormulirValidasi);
            _Bendera. Atur(perluMemvalidasiCookie);
            _Bendera. Set(perluValidatePostedFiles);
            _Bendera. Set(perluValidasiRawUrl);
            _Bendera. Set(perluValidatePath);
            _Bendera. Atur(perluValidatePathInfo);
            _Bendera. Set(perluValidateHeaders);
        }

Dokumentasi:Login hyperlink terlihat.

Memvalidasi data yang berpotensi berbahaya:HttpRequest -> ValidateString -> CrossSiteScriptingValidation.IsDangerousString, seperti yang ditunjukkan pada gambar di bawah ini:



Alamat kode sumber:

Login hyperlink terlihat.
Login hyperlink terlihat.

Salin kode sumber ke dalam proyek Anda dan uji sebagai berikut:



Sumber:


Jika Anda benar-benar ingin menerima konten berbahaya, Anda dapat menggunakan Request.Unvalidated.Form

(Akhir)




Mantan:ASP.NET MVC mendapatkan semua alamat antarmuka melalui refleksi
Depan:.NET/C# menggunakan SqlConnectionStringBuilder untuk membandingkan koneksi database
 Tuan tanah| Diposting pada 08/07/2023 22.06.32 |
AllowHtmlAttribute: Mengizinkan permintaan menyertakan markup HTML selama pengikatan model dengan melewati validasi permintaan untuk atribut. (Sangat disarankan agar aplikasi secara eksplisit memeriksa semua model yang menonaktifkan validasi permintaan untuk mencegah serangan skrip.) )

https://learn.microsoft.com/zh-c ... .allowhtmlattribute
 Tuan tanah| Diposting pada 08/07/2023 22.06.49 |
ValidateAntiForgeryToken dan AutoValidateAntiforgeryToken tag anti-pemalsuan dijelaskan secara rinci
https://www.itsvse.com/thread-9568-1-1.html
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com