SQL INJECTION - 2ND ORDER ATTACK
SQL INJECTION - 2ND ORDER ATTACK
SQL Injection 2nd order เป็นการโจมตี SQL Injection ที่แตกต่างจากปกติ เพราะเป็นการ injection ที่เกิดจากที่ Application มีการนำค่าข้อมูลที่ Attacker บันทึกไว้ ไปใช้ในการ query ข้อมูล ยกตัวอย่างในกรณีนี้คือ
$username = str_replace('\','',$_SESSION['username']);
$sql = "SELECT * FROM message WHERE Username = '$username'";
จาก query string จะเห็นว่าเป็นการ query ข้อมูล message จากระบบ โดยตรวจสอบจาก ชื่อที่ถูกเก็บไว้ใน session ซึ่งข้อมูล session นั้นไม่ได้ถูกสร้างด้วย user แต่ session นั้นจะถูกสร้างตอนที่ user authentication สำเร็จซึ่งในที่นี้ session[‘username’] จะถูกสร้างจาก username ของ user ที่ถูกเก็บไว้ใน database ดังนั้นผู้โจมตีสามารถทำการโจมตี SQL Injection ได้ ด้วยการสร้าง user ที่มี payload ที่เป็น SQL Injection นั่นเอง
Comments
Post a Comment