Formatkan kelemahan rentetan dan langkah pencegahan serta contoh dalam bahasa C

WBOY
Lepaskan: 2023-08-25 14:13:03
ke hadapan
674 orang telah melayarinya

Formatkan kelemahan rentetan dan langkah pencegahan serta contoh dalam bahasa C

Format String - Ia ialah rentetan ASCII yang digunakan untuk memformat rentetan. Ia adalah rentetan ASCII yang terdiri daripada teks dan parameter pemformatan.

Untuk pemformatan output program, terdapat pelbagai rentetan format dalam C.

Format String Vulnerabilities

Ralat ini timbul kerana kesilapan pengaturcaraan yang mudah dilakukan oleh pengaturcara. Jika mana-mana kod yang terdedah kepada ralat tersebut dihantar ke fungsi output seperti printf, sprintf, dsb., operasi tulis akan dilakukan ke alamat memori sewenang-wenangnya.

Contoh

#include<stdio.h>
#include<string.h>

int main(){

   char buffer[100];
   strncpy(buffer, "Hii ", 5);
   printf(buffer);

   return 0;
}
Salin selepas log masuk

Langkah berjaga-jaga

Terdapat beberapa langkah yang boleh anda ambil untuk mengelakkan kelemahan rentetan format

  • Cuba gunakan rentetan format sebagai atur cara dan bukannya memasukkan data. Masalah ini boleh diselesaikan dengan mudah menggunakan format rentetan "%s".

  • Buat rentetan format menggunakan pemalar dan ekstrak semua rentetan berubah sebagai argumen untuk berfungsi panggilan dan bukannya menggunakannya dalam pemalar rentetan.

  • Untuk kes spesifikasi pemulaan rentetan malar dan berubah-ubah Tidak dapat mengikuti perlindungan format penggunaan.

Atas ialah kandungan terperinci Formatkan kelemahan rentetan dan langkah pencegahan serta contoh dalam bahasa C. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!