Untuk mengatasi kerentanan overflow ASP, kita harus melakukan pemfilteran karakter yang komprehensif.
Salah satunya adalah login sebagai anggota
. Kode berikut ini untuk menyaring karakter ilegal di nama pengguna.
<%
nama pengguna=trim(permintaan.form("nama pengguna"))
penggunapws=trim(permintaan.form("kata sandi"))
jika nama pengguna="" atau penggunapws="" atau Instr(nama pengguna,"=")>0 atau Instr(nama pengguna,"%")>0 atau Instr(nama pengguna,chr(32))>0 atau Instr(nama pengguna," ?")>0 atau Instr(nama pengguna,"&")>0 atau Instr(nama pengguna,"";")>0 atau Instr(nama pengguna,","")>0 atau Instr(nama pengguna,"'")>0 atau Instr(nama pengguna,","")>0 atau Instr(nama pengguna,chr(34))>0 atau Instr(nama pengguna,chr(9))>0 atau Instr(nama pengguna,"?")>0 atau Instr(nama pengguna, "$")>0 lalu
respon.write(''Masukkan nama pengguna dan kata sandi dengan benar'')
respon.akhir
berakhir jika
%>
Ada juga kerentanan overflow yang melibatkan memasukkan karakter ilegal melalui bilah alamat. Misalnya, jika satu halaman adalah newslist.asp dan halaman lainnya adalah newspage.asp,
kami meneruskan parameter newsid dari newslist.asp ke newspage.asp.
Saat menerima parameter di newspage.asp, biasanya kami hanya menggunakan,
<%
berita redup
newsid=permintaan(''newsid'')
...............
%>
Untuk amannya setidaknya kita harus menambahkan
<%
berita redup
newsid=tim(permintaan''id'')
jika newsid='''' atau Instr(newsid,"'")>0 atau Instr(newsid,"%")>0 maka
respon.write(''Parameter ilegal'')
respon.akhir
%>
Apa yang saya sampaikan pada dasarnya adalah dua poin di atas.
Meskipun kami masih memiliki beberapa celah di INTERNET, memasukkan beberapa baris kode lagi dapat meningkatkan keamanan situs web dengan lebih baik!
Cara sederhana untuk mengatasi penggunaan kerentanan overflow karakter ilegal untuk menyerang situs web