เขียนโปรแกรมต่อต้านการฉีด ASP ทั่วไปเพื่อเลือกบล็อกจาก PH4Studio
เขียนโปรแกรมต่อต้านการฉีด ASP ทั่วไปสำหรับคำหลัก
แหล่งที่มา
การฉีด SQL ถูกเล่นโดยแฮ็กเกอร์ที่เรียกว่าในระดับสามเณร ฉันพบว่าการบุกรุกของแฮ็กเกอร์ส่วนใหญ่ตอนนี้ขึ้นอยู่กับการฉีด SQL
อนิจจาใครทำให้การเริ่มต้นใช้งานง่าย? ตกลงฉันจะไม่พูดเรื่องไร้สาระอีกต่อไปตอนนี้ฉันเริ่มพูดว่าถ้าฉันเขียนโปรแกรมต่อต้านการฉีด SQL ทั่วไป
คำขอ HTTP ทั่วไปไม่มีอะไรมากไปกว่ารับและโพสต์ตราบใดที่เรากรองโพสต์ทั้งหมดหรือรับข้อมูลพารามิเตอร์คำขอในไฟล์
อักขระที่ผิดกฎหมายนั้นเพียงพอแล้วดังนั้นเราสามารถใช้ตัวกรองข้อมูลคำขอ HTTP เพื่อตรวจสอบว่าต้องมีการโจมตีแบบฉีด SQL หรือไม่
IIS ผ่านไปยัง ASP.DLL อยู่ในรูปแบบของสตริงเมื่อส่งผ่านไปยัง request.queryString ข้อมูล
ASP Parser จะวิเคราะห์ข้อมูลของคำขอ QueryString จากนั้นหารข้อมูลในแต่ละอาร์เรย์ตาม "&"
ดังนั้นรับการสกัดกั้นดังนี้
ก่อนอื่นเรากำหนดว่าคำขอไม่สามารถมีอักขระต่อไปนี้
'| และ | exec | แทรก | เลือก | ลบ | อัปเดต | นับ |*|%| chr | mid | master | truncate | char | ประกาศ
ตัวละครแต่ละตัวจะถูกคั่นด้วย "|" จากนั้นเราตัดสินคำขอ. Querystring
รหัสเฉพาะมีดังนี้
dimsql_injdata
sql_injdata = "'| และ | exec | แทรก | เลือก | ลบ | อัปเดต | นับ |*|%| chr | mid | master | truncate | char | declare"
sql_inj = split (sql_injdata, "|")
ifrequest.querystring <> "" แล้ว
foreachsql_getinrequest.querystring
forsql_data = 0toubound (sql_inj)
ifinstr (request.querystring (sql_get), sql_inj (sql_data))> 0 แล้ว
Response.write "<scriptLanguage = ****> การแจ้งเตือน ('Tianxia Movie Alliance SQL ระบบต่อต้านการฉีดสากลสากลพร้อมท์↓ nnplease ไม่รวมอักขระที่ผิดกฎหมายในพารามิเตอร์และพยายามที่จะฉีด!'); back.back (-1) </script>"
Response.end
endif
ต่อไป
ต่อไป
endif
ด้วยวิธีนี้เราใช้การสกัดกั้นการฉีดคำขอ GET แต่เราต้องกรองคำขอโพสต์ดังนั้นเราต้องพิจารณาคำขอต่อไปซึ่งมีอยู่ในรูปแบบของอาร์เรย์เราต้องเข้าไปในวงเพื่อตัดสินอีกครั้ง รหัสมีดังนี้
ifrequest.form <> "" แล้ว
foreachsql_postinrequest.form
forsql_data = 0toubound (sql_inj)
ifinstr (request.form (sql_post), sql_inj (sql_data))> 0 แล้ว
Response.write "<scriptLanguage = ****> การแจ้งเตือน ('Tianxia Movie Alliance SQL ระบบต่อต้านการฉีดสากลที่มีการแจ้งเตือน↓ nnplease ไม่รวมอักขระที่ผิดกฎหมายในพารามิเตอร์และพยายามที่จะฉีด! nnhttp: //www.521movie.com');
Response.end
endif
ต่อไป
ต่อไป
endif
ตกลงงานเสร็จแล้วเราได้ดำเนินการสกัดกั้นข้อมูลของคำขอรับและโพสต์ คุณจะต้องอ้างอิงหน้านี้ก่อนที่จะเปิดไฟล์ฐานข้อมูลเช่น conn.asp พัฒนาโปรแกรมของคุณด้วยความมั่นใจไม่จำเป็นต้องพิจารณาว่าจะยังคงถูกโจมตีโดยการฉีด SQL หรือไม่ ไม่ใช่เหรอ?