ความแตกต่างที่สำคัญระหว่าง XSS และ SQL Injection คือ XSS (หรือ Cross Site Scripting) เป็นช่องโหว่ด้านความปลอดภัยของคอมพิวเตอร์ประเภทหนึ่งที่ฉีดโค้ดที่เป็นอันตรายไปยังเว็บไซต์เพื่อให้โค้ดทำงานในผู้ใช้ของเว็บไซต์นั้นโดย เบราว์เซอร์ในขณะที่การฉีด SQL เป็นกลไกการแฮ็กเว็บไซต์อื่นที่เพิ่มโค้ด SQL ลงในช่องป้อนข้อมูลของแบบฟอร์มบนเว็บเพื่อเข้าถึงทรัพยากรหรือเพื่อเปลี่ยนแปลงข้อมูล
ทุกองค์กรดูแลเว็บไซต์ ซึ่งช่วยปรับปรุงธุรกิจและผลกำไร เว็บแอปพลิเคชันประกอบด้วยฝั่งไคลเอ็นต์และฝั่งเซิร์ฟเวอร์ ฝั่งไคลเอ็นต์มีส่วนต่อประสานกับผู้ใช้เพื่อโต้ตอบกับแอปพลิเคชันฝั่งเซิร์ฟเวอร์รวมถึงฐานข้อมูล โดยปกติจะมีภัยคุกคามที่ส่งผลต่อการทำงานที่เหมาะสมของแอปพลิเคชัน สองรายการคือการฉีด XSS และ SQL
XSS คืออะไร
XSS ย่อมาจาก Cross Site Scripting และเป็นหนึ่งในการโจมตีเว็บไซต์ที่พบบ่อยที่สุด มันสามารถส่งผลกระทบต่อเว็บไซต์นั้น ๆ รวมถึงผู้ใช้ของเว็บไซต์นั้น ภาษาที่ใช้กันทั่วไปในการเขียนโค้ดที่เป็นอันตรายสำหรับการโจมตี XSS คือ JavaScript XSS สามารถขโมยคุกกี้ของผู้ใช้ เปลี่ยนการตั้งค่าผู้ใช้ แสดงการดาวน์โหลดมัลแวร์ต่างๆ และอีกมากมาย
รูปที่ 01: XSS
XSS มีสองประเภท เป็น XSS แบบต่อเนื่องและไม่ต่อเนื่อง ใน XSS แบบถาวร โค้ดที่เป็นอันตรายจะบันทึกไปยังเซิร์ฟเวอร์ในฐานข้อมูล จากนั้นจะทำงานบนหน้าปกติ ใน XSS ที่ไม่ถาวร โค้ดที่เป็นอันตรายที่ฉีดจะถูกส่งไปยังเซิร์ฟเวอร์ผ่านคำขอ HTTPโดยปกติ การโจมตีเหล่านี้สามารถเกิดขึ้นได้ในช่องค้นหา
การฉีด SQL คืออะไร
SQL Injection เป็นอีกหนึ่งกลไกการแฮ็คเว็บไซต์ มันวางโค้ดที่เป็นอันตรายในคำสั่ง SQL ผ่านการป้อนข้อมูลของหน้าเว็บ เว็บไซต์มีแบบฟอร์มเพื่อรวบรวมอินพุตของผู้ใช้ เมื่อถามผู้ใช้สำหรับการป้อนข้อมูลเช่นชื่อผู้ใช้ ID ผู้ใช้เขาอาจจัดเตรียมคำสั่ง SQL แทนชื่อและมัน จึงสามารถรันบนฐานข้อมูลเว็บไซต์ได้
รูปที่ 02: การฉีด SQL
นอกจากนี้ ตัวอย่างบางส่วนของการฉีด SQL มีดังต่อไปนี้
อาจมีสถานการณ์ในการค้นหาผู้ใช้ผ่านรหัสผู้ใช้ หากไม่มีวิธีการตรวจสอบความถูกต้องของอินพุต ผู้ใช้สามารถป้อนอินพุตผิดได้ ถ้าเขาป้อนรหัสผู้ใช้เป็น 100 OR 1=1 มันจะสร้างคำสั่ง SQL ดังต่อไปนี้
selectจากผู้ใช้โดยที่ userid=100 หรือ 1=1;
คำสั่ง SQL นี้สามารถส่งคืนผู้ใช้ทั้งหมดในฐานข้อมูลเพราะ 1=1 เป็นจริงเสมอ หากเป็นแฮ็กเกอร์ และหากฐานข้อมูลมีข้อมูลที่เป็นความลับ เช่น รหัสผ่าน เขาสามารถเข้าถึงชื่อผู้ใช้และรหัสผ่านได้ นั่นคือตัวอย่างสำหรับการฉีด SQL
ความแตกต่างระหว่างการฉีด XSS และ SQL คืออะไร
XSS เป็นช่องโหว่ด้านความปลอดภัยของคอมพิวเตอร์ประเภทหนึ่งในเว็บแอปพลิเคชันที่ช่วยให้ผู้โจมตีสามารถแทรกสคริปต์ฝั่งไคลเอ็นต์ลงในหน้าเว็บที่ผู้ใช้รายอื่นดูได้ การฉีด SQL เป็นเทคนิคการแทรกโค้ด ที่โจมตีแอปพลิเคชันที่ขับเคลื่อนด้วยข้อมูลซึ่งแทรกคำสั่ง SQL ลงในรายการเพื่อดำเนินการ
XSS แทรกโค้ดที่เป็นอันตรายลงในเว็บไซต์ เพื่อให้โค้ดทำงานในผู้ใช้ของเว็บไซต์นั้นโดยเบราว์เซอร์ ในทางกลับกัน การฉีด SQL จะเพิ่มโค้ด SQL ลงในช่องใส่ฟอร์มบนเว็บเพื่อเข้าถึงทรัพยากรหรือเปลี่ยนแปลงข้อมูลนี่คือข้อแตกต่างที่สำคัญระหว่าง XSS และ SQL Injection ภาษาทั่วไปส่วนใหญ่สำหรับ XSS คือ JavaScript ในขณะที่การฉีด SQL ใช้ SQL
สรุป – XSS vs SQL Injection
ความแตกต่างระหว่าง XSS และ SQL Injection คือ XSS ฉีดโค้ดที่เป็นอันตรายไปยังเว็บไซต์ เพื่อให้โค้ดรันในผู้ใช้ของเว็บไซต์นั้นโดยเบราว์เซอร์ ในขณะที่การฉีด SQL เพิ่มโค้ด SQL ลงในช่องใส่ฟอร์มของเว็บ เข้าถึงทรัพยากรหรือเปลี่ยนแปลงข้อมูล