Format String Attack
Format String Attack adalah teknik menyerang program komputer yang telah diprogram dengan buruk. Serangan ini biasanya memanfaatkan celah yang terjadi ketika program mencetak pesan pada layar atau file log tanpa melakukan validasi terlebih dahulu pada input yang dimasukkan pengguna.
Contoh sederhana adalah sebagai berikut:
Jika program ingin mencetak nilai dari variabel “x” dengan menggunakan sintaksis sebagai berikut:
printf(“Nilai x adalah %d”, x);
Namun, jika input dari pengguna tidak tervalidasi dengan benar, pengguna bisa saja memasukkan input yang berbahaya, seperti string format berikut:
“%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s”
String format ini akan merusak format string pada program dan memungkinkan penyusup untuk mengekstrak informasi pribadi, menyebabkan kegagalan sistem, atau bahkan mengambil alih kontrol program.
Untuk menghindari format string attack, programer harus selalu melakukan validasi input pada semua fungsi print dan scan yang digunakan dalam program, serta memastikan pengguna tidak dapat memanipulasi proses output dan input pada program.