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

Melihat: 32621|Jawab: 2

[Kerentanan Keamanan] Kerentanan yang hilang atau tidak aman di header "Content-Security-Policy"

[Salin tautan]
Diposting pada 11/06/2021 10.36.39 | | | |
Header respons HTTP Content-Security-Policy memungkinkan situs untuk mengontrol sumber daya mana yang dimuat agen pengguna untuk halaman tertentu. Kecuali dalam kasus khusus, kebijakan yang ditetapkan terutama melibatkan menentukan titik akhir sumber dan skrip server. Ini akan membantu menghentikan serangan skrip lintas situs

Dokumentasi:Login hyperlink terlihat.

Artikel ini menjelaskan Kebijakan Keamanan Konten W3C, atau disingkat CSP. Seperti namanya, spesifikasi ini terkait dengan keamanan konten dan terutama digunakan untuk menentukan sumber daya mana yang dapat dimuat halaman dan mengurangi terjadinya XSS.

Chrome awal mendukung CSP melalui header respons X-WebKit-CSP, sementara firefox dan IE mendukung X-Content-Security-Policy, dan Chrome25 dan Firefox23 mulai mendukung Content-Security-Policy standar.

Informasi sensitif tentang aplikasi web, seperti nama pengguna, kata sandi, nama mesin, dan/atau lokasi file sensitif, dapat dikumpulkan
Pengguna pemula dapat dibujuk untuk memberikan informasi sensitif seperti nama pengguna, kata sandi, nomor kartu kredit, nomor jaminan sosial, dll


Pertama, mari kita buat proyek baru ASP.NET MVC, buat skrip js baru, dan muat kode js statistik Baidu secara dinamis, sebagai berikut:




Seperti yang ditunjukkan pada gambar di atas, kita dapat melihat kode skrip JS yang telah berhasil dimasukkan ke pihak ketiga (Baidu), jika ada beberapa kode berbahaya di JS pihak ketiga, seperti mencuri cookie, memodifikasi konten, melompat tautan, dll.

Bagaimana cara menghentikan pengenalan skrip JS pihak ketiga yang tidak aman?

Solusi

Kepala responsTambahkan "Kebijakan Keamanan Konten"misalnya:

Content-Security-Policy: default-src 'self' Login hyperlink terlihat.;
                         connect-src 'tidak ada';
Content-Security-Policy: connect-src Login hyperlink terlihat.
                         skrip-srcLogin hyperlink terlihat.

Direktif
Contoh nilai instruksi
Menggambarkan
default-src
'diri' cnd.a.com
Tentukan kebijakan pemuatan default untuk semua jenis sumber daya (JS, IMAGE, CSS, FONT WEB, permintaan AJAX, iframe, multimedia, dll.), dan gunakan default untuk jenis sumber daya tertentu jika tidak ada kebijakan yang ditentukan secara terpisah.
skrip-src
'diri' js.a.com
Tentukan kebijakan pemuatan untuk JavaScript.
gaya-src
'diri' css.a.com
Tentukan kebijakan pemuatan untuk gaya.
IMG-SRC
'diri' img.a.com
Tentukan kebijakan pemuatan untuk gambar.
Hubungkan-SRC
'diri'
Memuat kebijakan untuk permintaan dari Ajax, WebSockets, dll. Jika tidak diizinkan, browser mensimulasikan respons dengan status 400.
font-src
font.a.com
Memuat kebijakan untuk WebFont.
objek-src
'diri'
<object><embed> <applet> Memuat kebijakan untuk plugin seperti flash yang diperkenalkan untuk tag seperti , atau .
media-src
media.a.com
<audio> <video> Memuat strategi untuk multimedia HTML yang diperkenalkan untuk tag seperti atau .
bingkai-src
'diri'
Memuat kebijakan untuk bingkai.
kotak pasir
Formulir izinkan
Aktifkan kotak pasir (mirip dengan properti kotak pasir iframe) untuk sumber daya yang diminta.
URI Laporan
/report-uri
Beri tahu browser alamat mana yang harus dikirimkan informasi log jika sumber daya yang diminta tidak diizinkan oleh kebijakan. Khusus: Jika Anda ingin browser hanya melaporkan log dan tidak memblokir apa pun, Anda dapat menggunakan header Content-Security-Policy-Report-Only sebagai gantinya.

Mari kita modifikasi file web.config proyek untuk menambahkan header respons kustom sebagai berikut:

Jalankan ulang proyek seperti yang ditunjukkan di bawah ini:



Browser berhasil memblokir pemuatan skrip js pihak ketiga:

Menolak untuk memuat skrip 'https://hm.baidu.com/hm.js?6dbaac17dfeb2840b5b09d2dff6d2319' karena melanggar arahan Kebijakan Keamanan Konten berikut: "script-src 'self' http://localhost:56888/ ". Perhatikan bahwa 'script-src-elem' tidak diatur secara eksplisit, jadi 'script-src' digunakan sebagai penggantian.
(Akhir)




Mantan:ASP.NET Perintah eksekusi Aplikasi Http MVC
Depan:Untuk meringkas ensiklopedia User-Agent browser populer
Diposting pada 17/12/2021 22.38.43 |
Pelajari !!!!!!!!!!!!!!
Diposting pada 18/10/2022 17.16.34 |
Saya sudah lama mencari dan belajar sedikit
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