เมื่อไม่นานมานี้ หนึ่งในเว็บไซต์ของบริษัทถูกแฮกเกอร์โพสต์อย่างต่อเนื่องพร้อมลิงก์ที่เป็นมิตรจากเครือข่ายแฮ็กเกอร์ของพวกเขา มันไม่น่ารำคาญเกินไปที่จะแทนที่และเพิ่มเข้าไป เนื่องจากอันดับเว็บไซต์ลดลงมาก (เพราะฉันคิดว่าเป็นตอนที่ฉันครั้งแรก ค้นพบมัน) เป็นเวลาหลายวันแล้ว) ต่อมาฉันได้ใช้มาตรการบางอย่าง และในที่สุดมันก็หยุดลงแล้ว ฉันจะพูดถึงขั้นตอนโดยละเอียดของฉันด้านล่าง
ขั้นแรก ให้พิจารณาว่าเป็นการบุกรุกจากเบื้องหลัง การบุกรุก ftp หรือการบุกรุกฐานข้อมูล หากคุณขาดความรู้ในการตีความ อย่าตัดสินและใช้มาตรการรับมือทั้งหมดโดยตรง
1. เข้าสู่ระบบแผงควบคุมพื้นที่ เลือกฟังก์ชั่นขั้นสูง ค้นหาคอลัมน์ "วิธีส่งข้อมูลข้อผิดพลาด ASP ไปยังไคลเอนต์" คลิก "ส่งข้อความแสดงข้อผิดพลาดที่กำหนดไว้ล่วงหน้าไปยังไคลเอนต์" ค่าเริ่มต้นคือ "ส่งข้อความแสดงข้อผิดพลาดโดยละเอียดไปที่ ลูกค้า" ซึ่งเป็นสิ่งสำคัญมาก เนื่องจากเป็นช่องทางที่สะดวกสำหรับการบุกรุกฐานข้อมูล
2. รหัสผ่านสำหรับแก้ไขช่องว่างและการเข้าสู่ระบบในพื้นหลังควรยาวและซับซ้อน รวมถึงการผสมระหว่างขีดล่าง ตัวอักษร และตัวเลข
3. แก้ไขชื่อฐานข้อมูล เปลี่ยนส่วนต่อท้าย mdb เป็น asp และเปลี่ยนเส้นทางฐานข้อมูลตามลำดับใน conn
4. ขั้นตอนสุดท้ายและขั้นตอนที่สำคัญที่สุดคือการแทรกโค้ดต่อไปนี้ลงใน conn ซึ่งควรแทรกไว้เหนือฐานข้อมูลการอ่านซึ่งเป็นจุดเริ่มต้นของหน้า
ต่อไปนี้เป็นรหัสที่ยกมา:
-
'-------ส่วนคำจำกัดความ------------------
หรี่ Fy_Post, Fy_Get, Fy_In, Fy_Inf, Fy_Xh, Fy_db, Fy_dbstr
'ปรับแต่งสตริงที่ต้องการกรองโดยคั่นด้วย "เมเปิ้ล"
Fy_In = "และเมเปิ้ล exec เมเปิ้ลแทรก เมเปิ้ลเลือกเมเปิ้ล ลบเมเปิ้ล อัพเดตเมเปิ้ล นับเมเปิ้ล * เมเปิ้ล chr เมเปิ้ลกลาง เมเปิ้ลมาสเตอร์ เมเปิ้ลตัดทอน ถ่านเมเปิ้ล ประกาศ"
Fy_Inf = แยก (Fy_In, "เมเปิ้ล")
หาก Request.Form<>"" จากนั้น
สำหรับแต่ละ Fy_Post ในแบบฟอร์มคำขอ
สำหรับ Fy_Xh=0 ถึง Ubound(Fy_Inf)
ถ้า Instr(LCase(Request.Form(Fy_Post)),Fy_Inf(Fy_Xh))<>0 จากนั้น
Response.Write "<Script Language=javaScript>alert('Prompt↓nnPlease do not ใส่อักขระที่ผิดกฎหมายในพารามิเตอร์เมื่อพยายามแทรก, QQ: หมายเลข QQ ของคุณ!nชื่อบริษัทของคุณ');</Script >"
การตอบสนองเขียน "การดำเนินการที่ผิดกฎหมาย! ระบบได้ทำบันทึกต่อไปนี้↓<br>"
Response.Write "Operation IP:"&Request.ServerVariables("REMOTE_ADDR")&"<br>"
ตอบกลับเขียน "เวลาดำเนินการ:"&ตอนนี้&"<br>"
Response.Write "หน้าการดำเนินการ:"&Request.ServerVariables("URL")&"<br>"
ตอบกลับเขียน "วิธีการส่ง: POST<br>"
การตอบสนองเขียน "ส่งพารามิเตอร์:"&Fy_Post&"<br>"
Response.เขียน "ส่งข้อมูล:"&Request.Form(Fy_Post)
การตอบสนองสิ้นสุด
สิ้นสุดถ้า
ต่อไป
ต่อไป
สิ้นสุดถ้า
ถ้า Request.QueryString<>"" จากนั้น
สำหรับแต่ละ Fy_Get ใน Request.QueryString
สำหรับ Fy_Xh=0 ถึง Ubound(Fy_Inf)
ถ้า Instr(LCase(Request.QueryString(Fy_Get)),Fy_Inf(Fy_Xh))<>0 แล้ว
Response.Write "<Script Language=Javascript>alert('System promptnPlease do not include failed character in the parameter and try to inject!nQQ:1351298933');</Script>"
การตอบสนองเขียน "<div style='height:auto; overflow:hidden; color:#C00; width:300px; margin:20px auto; font-size:12px; line-height:22px; font-weight:400'> "
ตอบกลับเขียน "การดำเนินการที่ผิดกฎหมาย! ระบบได้สร้างบันทึกต่อไปนี้ให้กับคุณ↓<br>"
Response.Write "Operation IP:"&Request.ServerVariables("REMOTE_ADDR")&"<br>"
ตอบกลับเขียน "เวลาดำเนินการ:"&ตอนนี้&"<br>"
Response.Write "หน้าการดำเนินการ:"&Request.ServerVariables("URL")&"<br>"
ตอบกลับเขียน "วิธีการส่ง: GET<br>"
การตอบสนองเขียน "ส่งพารามิเตอร์:"&Fy_Get&"<br>"
Response.Write "ส่งข้อมูล:"&Request.QueryString(Fy_Get)
ตอบกลับเขียน "<div>"
การตอบสนองสิ้นสุด
สิ้นสุดถ้า
ต่อไป
ต่อไป
สิ้นสุดถ้า
-
หลังจากทำตามสี่ขั้นตอนข้างต้นแล้ว ไม่สามารถป้องกันแฮกเกอร์จากการบุกรุกได้ 100% แต่อย่างน้อยก็สามารถบล็อกแฮกเกอร์ส่วนใหญ่ที่ใช้เครื่องมือเท่านั้น โปรดเก็บ http://www.6868sky.com ไว้เพื่อพิมพ์ซ้ำ . ขอบคุณ chinaz.
ขอบคุณ Mingrui สำหรับการสนับสนุนของคุณ