การฉีด SQL

ผู้เขียน: Peter Berry
วันที่สร้าง: 13 สิงหาคม 2021
วันที่อัปเดต: 22 มิถุนายน 2024
Anonim
4 Types of SQL Injection
วิดีโอ: 4 Types of SQL Injection

เนื้อหา

คำจำกัดความ - SQL Injection หมายถึงอะไร

การฉีด SQL เป็นการโจมตีคอมพิวเตอร์ซึ่งมีรหัสที่เป็นอันตรายฝังอยู่ในแอปพลิเคชันที่ออกแบบมาไม่ดีและส่งต่อไปยังฐานข้อมูลส่วนหลัง ข้อมูลที่เป็นอันตรายจะสร้างผลลัพธ์การสืบค้นฐานข้อมูลหรือการกระทำที่ไม่ควรดำเนินการ


ข้อมูลเบื้องต้นเกี่ยวกับ Microsoft Azure และ Microsoft Cloud | ในคู่มือนี้คุณจะได้เรียนรู้ว่าการประมวลผลแบบคลาวด์คืออะไรและ Microsoft Azure สามารถช่วยคุณในการโยกย้ายและดำเนินธุรกิจจากคลาวด์อย่างไร

Techopedia อธิบายการฉีด SQL

ให้ผ่านตัวอย่างของการโจมตีการฉีด SQL:

แอปพลิเคชันที่ใช้งานการดำเนินงานของธนาคารมีเมนูที่อาจใช้ในการค้นหารายละเอียดลูกค้าโดยใช้จุดข้อมูลเช่นหมายเลขประกันสังคมของลูกค้า ในพื้นหลังแอปพลิเคชันเรียกแบบสอบถาม SQL ที่ทำงานในฐานข้อมูลโดยส่งค่าการค้นหาที่ป้อนดังนี้:

เลือก client_name, โทรศัพท์, ที่อยู่, date_of_birth WHERE social_sec_no = 23425

ในสคริปต์ตัวอย่างนี้ผู้ใช้ป้อนค่า 23425 ในหน้าต่างเมนูแอปพลิเคชันขอให้ผู้ใช้ป้อนหมายเลขประกันสังคม จากนั้นใช้ค่าที่ให้ไว้โดยผู้ใช้แบบสอบถาม SQL จะทำงานในฐานข้อมูล

ผู้ใช้ที่มีความรู้ SQL อาจเข้าใจแอ็พพลิเคชันและแทนที่จะป้อนค่าเดียวเมื่อถูกถามถึงหมายเลขประกันสังคมให้ป้อนสตริง“ 23425 หรือ 1 = 1” ซึ่งจะถูกส่งผ่านไปยังฐานข้อมูลดังนี้:

เลือกชื่อลูกค้าหมายเลขโทรศัพท์ที่อยู่ date_of_birth WHERE social_sec_no = 23425 หรือ 1 = 1

ส่วนคำสั่ง WHERE นั้นมีความสำคัญเนื่องจากจะทำให้เกิดช่องโหว่ ในฐานข้อมูลเงื่อนไข 1 = 1 จะเป็นจริงเสมอและเนื่องจากมีการระบุแบบสอบถามเพื่อส่งกลับรายละเอียดหมายเลขประกันสังคมของลูกค้า (23425) หรือ WHERE 1 = 1 แบบสอบถามจะส่งคืนแถวทั้งหมดในตารางซึ่งไม่ใช่ ความตั้งใจเดิม

ตัวอย่างการโจมตีการฉีด SQL ข้างต้นนั้นง่าย แต่ก็แสดงให้เห็นว่าการใช้ประโยชน์จากช่องโหว่เพื่อหลอกให้แอปพลิเคชั่นใช้งานแบบสอบถามหรือคำสั่งฐานข้อมูลแบ็กเอนด์

การโจมตีการฉีด SQL สามารถบรรเทาได้ด้วยการออกแบบแอพพลิเคชั่นให้เหมาะสมโดยเฉพาะในโมดูลที่ต้องการให้ผู้ใช้ป้อนคำสั่งหรือคำสั่งของฐานข้อมูล ในตัวอย่างข้างต้นแอปพลิเคชันสามารถเปลี่ยนแปลงได้เพื่อให้ยอมรับค่าตัวเลขหนึ่งค่าเท่านั้น