SQL Injection & How to Protect
SQL Injection & How to Protect
SQL Injection เป็นเทคนิคที่ใช้ในการ แฮก ระบบ โดยใช้ SQL Statement ส่งเข้าไปยังระบบที่ไม่แข็งแรง เช่น ในช่องใส่ Password ก็ใส่เป็น ' or '1' = '1 หรือ " or "1"= "1
หาก Web Application ที่พัฒนาไม่ได้มีระบบการป้องกันที่ได้ เช่น Input Validation หรือ การนำเอา SQL มาทำการต่อ ๆ กันโดยตรง หรือ ที่เรียกว่า "Dynamic SQL Statement" ก็อาจจะเป็นจุดเสี่ยงของระบบได้ ...
โดยระบบอาจจะรับรู้ว่า SQL Statement ที่จะ query ระบบเป็น SELECT * FROM Members WHERE UserID=5 and Pwd='' or '1' = '1' ซึ่งหากลองสังเกตุดูเงื่อนไข หลัง WHERE ยังงัยก็เป็น true ลองดูตัวอย่างเพิ่มเติมที่ http://www.youtube.com/watch?v=MJNJjh4jORY ซึ่งจะเป็นลักษณะของการส่งข้อมูลเพื่อเข้าสู่ระบบ Back Office โดยใช้ SQL Injection เข้าไปยังระบบ และยังแก้การ Validate ออกด้วย ซึ่งถือเป็นการ hack ด้วยวิธีดังกล่าว ก็ไม่ยากในการเข้าใจ หากคุณพัฒนาเว็บด้วย ASP.NET Application ไม่ว่าจะพัฒนาด้วย C#.NET หรือ VB.NET แล้ว สิ่งที่จะช่วยป้องกันได้ คือ Stored Procedure และ SqlParameter โดยส่ง SqlParameter ให้กับ SqlCommand ต่อไป ซึ่งจะทำให้ระบบมี Security ที่ดี และป้องกัน SQL Injection ได้ และหลีกเลี่ยงการเข้าสู่หน้า back office ให้เกิดช่องโหว่ให้ hacker คาดเดาได้ง่ายเช่น www.company.com/admin ก็ควรจะเลิกใช้ "/admin" เป็นต้น ก็จะช่วยลดความเสี่ยงของ Web Application ของคุณลงได้
9ExpertTraining มี VDO เกี่ยวกับ IT Security จัดให้กระทรวง ICT ที่น่าสนใจ ที่สามารถลองเข้าไปศึกษาหาความรู้ได้ที่ http://www.youtube.com/9expert
◦
- Login to post comments
- 964 reads



