แนะนำ: ใช้สีแดงเพื่อแสดงคำหลักบันทึกที่ได้รับเมื่อสอบถามข้อมูลของ ASP Response.write แทนที่ (RS (Field X), SearchName, Font Color =#FF0000 SearchName/Font) % คำอธิบาย: RS เป็นวัตถุชุดบันทึกและชื่อ SearchName เป็นคำหลักค้นหาที่พิมพ์ซ้ำจาก htmer [http://www.htmer.com/]
คำขอ HTTP ทั่วไปของ SQL Injection ไม่มีอะไรมากไปกว่ารับและโพสต์ตราบใดที่เรากรองอักขระที่ผิดกฎหมายในข้อมูลพารามิเตอร์ของโพสต์ทั้งหมดหรือรับคำขอในไฟล์เราสามารถป้องกันการโจมตี SQL ฉีดคำขอรับส่งผ่านไปยัง ASP.DLL โดย IIS อยู่ในรูปแบบของสตริง หลังจากส่งผ่านไปยังขอข้อมูลสแตรต ASP Parser จะวิเคราะห์ข้อมูลของคำขอ QueryString จากนั้นหารข้อมูลในแต่ละอาร์เรย์ตาม & รายการต่อไปนี้แสดงรหัสสำหรับรับการสกัดกั้นและการสกัดกั้นโพสต์: '======= รับการสกัดกั้น =======
สลัว sql_injdata
sql_injdata = '| และ | exec | แทรก | เลือก | ลบ | อัปเดต | นับ |*|%| chr | mid | master | truncate | char | ประกาศ
sql_inj = split (sql_injdata, |)
หาก request.QueryString <> แล้ว
สำหรับแต่ละ sql_get ใน request.querystring
สำหรับ sql_data = 0 ถึง ubound (sql_inj)
ถ้า instr (request.querystring (sql_get), sql_inj (sql_data))> 0 แล้ว
Response.write <script language = 'JavaScript'> การแจ้งเตือน ('ระบบ htmer.com พร้อมท์↓ nnplease ไม่รวมอักขระที่ผิดกฎหมายในพารามิเตอร์และพยายามที่จะฉีด! nnhttp: //www.htmer.com');
Response.end
สิ้นสุดถ้า
ต่อไป
ต่อไป
สิ้นสุดถ้า '====== การสกัดกั้นโพสต์ =======
ถ้า request.form <> จากนั้น
สำหรับแต่ละ sql_post ใน request.form
สำหรับ sql_data = 0 ถึง ubound (sql_inj)
ถ้า instr (request.form (sql_post), sql_inj (sql_data))> 0 จากนั้น
Response.write <script language = 'JavaScript'> การแจ้งเตือน ('ระบบ htmer.com พร้อมท์↓ nnplease ไม่รวมอักขระที่ผิดกฎหมายในพารามิเตอร์และพยายามที่จะฉีด! nnhttp: //www.htmer.com');
Response.end
สิ้นสุดถ้า
ต่อไป
ต่อไป
สิ้นสุดถ้า
ตกลงเราได้ดำเนินการสกัดกั้นข้อมูลของคำขอ GET และ POST คุณจะต้องอ้างอิงหน้านี้ก่อนที่จะเปิดไฟล์ฐานข้อมูลเช่น conn.asp
แชร์: ฟังก์ชั่นที่กรองอักขระที่ไม่ได้ใช้งานในโปรแกรม ASP % functionCutBadchar (str) badstr = no | text | ming | อักขระ | คอลัมน์ | รูปแบบ 'กรอกคำที่ไม่มีการเปลี่ยนแปลงที่นี่ใช้ | แยก badword = split (badstr, |) fori = 0toubound (badword) ifstr (str, badword (i))