Baru-baru ini, karena memodifikasi program ASP (yang memiliki kerentanan injeksi SQL), saya menemukan banyak metode pencegahan terkait di Internet, tetapi tidak ada satupun yang memuaskan, jadi saya menyempurnakan beberapa metode di Internet dan menulis ini Fungsi ASP.
Berikut kutipannya:
Fungsi Permintaan Aman (ParaName)
Redupkan ParaValue
ParaValue=Permintaan(ParaName)
jika IsNumeric(ParaValue) = Benar maka
Permintaan Aman=ParaValue
keluar Fungsi
elseIf Instr(LCase(ParaValue),"select ") > 0 atau Instr(LCase(ParaValue),"insert ") > 0 atau Instr(LCase(ParaValue),"delete from") > 0 atau Instr(LCase(ParaValue) ,"count(") > 0 atau Instr(LCase(ParaValue),"drop table") > 0 atau Instr(LCase(ParaValue),"update ") > 0 atau Instr(LCase(ParaValue),"truncate ") > 0 atau Instr(LCase(ParaValue),"asc(") > 0 atau Instr(LCase(ParaValue),"mid(") > 0 atau Instr(LCase(ParaValue),"char(") > 0 atau Instr(LCase (ParaValue),"xp_cmdshell") > 0 atau Instr(LCase(ParaValue),"exec master") > 0 atau Instr(LCase(ParaValue),"net localgroup administrators") > 0 atau Instr(LCase(ParaValue)," dan ") > 0 atau Instr(LCase(ParaValue),"net user") > 0 atau Instr(LCase(ParaValue)," atau ") > 0 lalu
Respon.Tulis "<script bahasa='javascript'>"
Response.Tulis "alert('Permintaan ilegal!');" 'Pesan prompt serangan injeksi SQL ditemukan
Response.Tulis "location.href='http://blog.downcodes.com/';" 'URL pengalihan serangan injeksi SQL ditemukan
Respon.Tulis "<script>"
Respon.akhir
kalau tidak
Permintaan Aman=ParaValue
Akhiri Jika
Fungsi akhir
menggantikan Permintaan Anda dengan fungsi SafeRequest