Monday, April 27, 2009

sql injection รูปแบบทั่วไป

สำหรับคนที่หัดเขียน php ไม่ๆที่ไม่ได้ป้องกันปัญหาจากฝั่ง client เข้ามา ฝั่งผู้ชมเว็บอาจป้อน โค้ดเข้ามา จนเข้าสู่เว็บไซต์ได้



รูปแบบทั่วๆไปที่คนเข้าใช้ลองป้อนดูก็

' OR '1'='1

ลองมาดูที่ sql ที่เขียนไว้ ยกตัวอย่าง

SELECT * FROM member WHERE username='$user' AND password='$password'

ถ้าใส่ ' OR '1'='1 ผลจะได้

SELECT * FROM member WHERE username='' OR '1'='1' AND password='' OR '1'='1'

ที่แสดงให้เห็นไม่ได้หมายความว่ารูปแบบ sql injection มีแบบเดียว มีได้หลายแบบ ลองๆคิดดูว่ามีแบบไหนบ้าง เพราะผมก็ไม่รู้ 55+ ที่ชี้ให้เห็นว่ามีรูปแบบไหนก็เพื่อหาวิธีป้องกันๆ ลองคิดดู

http://sqlzoo.net/hack/12access.htm

No comments: