ทดสอบเจาะระบบแบบ SQL injection ด้วยวิธี Union Base

ตอนรับวาเลนไทน์ 2015 ด้วยการแปะคลิปวิธีการแฮกเว็บด้วย SQL injection (เข้ากันซะไม่มี)
จริงๆอยากทำคลิปอธิบายเอง แต่เห็นมีคนทำไว้แล้ว อธิบายเข้าใจง่ายดี เลยขอยืมมาหน่อย
en.wikipedia.org/wiki/SQL_injection

SQL injection คืออะไร

มันก็คือการเจาะระบบอย่างหนึ่ง โดยใช้ SQL หรือภาษาที่ใช้ติดต่อกับฐานข้อมูล ในการโจมตี ดังนั้นถ้าเว็บคุณไม่มีการติดต่อกับฐานข้อมูลก็ไม่ต้องกังวลอะไร แต่แน่นอนเว็บสมัยนี้มีทั้งนั้นแหละ ไม่ว่าจะเป็นการเก็บข้อมูลสมาชิก ข้อมูลสินค้า และอื่นๆ

แฮกเกอร์จะใช้ช่องโหว่ในการ Query String ผ่านช่องทางการรับข้อมูลต่างๆ เพื่อให้ได้ข้อมูลใน Database นอกจากนี้ยังสามารถ แก้ไข, เพิ่ม หรือ ลบข้อมูลได้อีกด้วย นี่แหละครับ SQL injection น่ากลัวไหม??

สำหรับรายละเอียด วิธีการ แอดมินคงไม่อธิบาย เพราะน่าจะหาอ่านกันเองได้ ขอบอกมีเยอะมาก มีหลายวิธีด้วย ซึ่งวันนี้ ก็จะแนะนำวิธีที่เรียกว่า Union Base เป็นอย่างไร ดูตามคลิปด้านล่าง


วิธีการป้องกัน SQL injection

  • พยายามกรองอินพุตที่รับมาจาก User ทั้งทาง From และ URL เพื่อไม่ไปรบกวนกับการทำงานของการ Query เช่น กรองพวก Quote ต่างๆ, Slash, Back Slash, Semi colon และอื่นๆที่คิดว่าไม่น่าจะเป็นชนิดของตัวแปรที่เราควรรับ ยกตัวอย่าง ในช่องของส่วนที่เป็นชื่อภาษาไทย ถ้ามีภาษาอังกฤษเข้ามา มันก็แปลกๆแล้วล่ะ เราก็ควรตรวจสอบเยอะๆ เพื่อป้องกันสิ่งที่อาจจะเกิดขึ้นได้ พยายามคิด Case ที่สามารถเป็นไปได้ให้เยอะๆ 
  • กำหนดความยาวของข้อมูลที่รับเข้ามา เพื่อป้องกันไม่ให้ แฮกเกอร์ใช้คำสั่ง SQL ยาวๆเข้ามาโจมตี นี่ก็เป็นอีกวิธีหนึ่งในการป้องกัน
แอดมินคิดว่าวิธีการป้องกันนั้นไม่ยากเลย อยู่ที่เรานั้นจะรอบครอบแค่ไหน พยายามศึกษาวิธีการโจมตีใหม่ๆ ช่องโหว่ใหม่ๆ ปิดมันซะ 

และที่สำคัญไม่ควรนำความรู้ที่ได้ ไปสร้างความเดือดร้อนให้ใคร เด็กๆอายุต่ำกว่า 18 ควรได้รับคำแนะนำ ถ้าไม่มีใครแนะนำ ก็แนะนำตัวเองนี่และ ดีที่สุด 


แค่นี้แหละ Happy Valentine Day <3

Popular posts from this blog

วิธีตรวจสอบข้อมูลภาษีของตัวเอง รายได้ทั้งปี และค่าลดหย่อน จบครบที่เดียว

คำถามจิตวิทยา และจริยธรรม เมื่อผมสามารถสับสวิตซ์รถไฟ และต้องเลือกชนใครสักคน

ฝากโค๊ด Online ด้วย Pastebin กันเถอะครับ !!

สูตรโกง Regex ใครไม่เก่ง Regular Expression มาทางนี้จ้า

"yes" "yeah" "yep" เหมือนและต่างกันอย่างไร ?