ข้อแตกต่างที่สำคัญระหว่าง XSS และ CSRF คือใน XSS (หรือ Cross Site Scripting) ไซต์ยอมรับโค้ดที่เป็นอันตรายในขณะที่ใน CSRF (หรือ Cross Site Request Forgery) โค้ดที่เป็นอันตรายจะถูกเก็บไว้ในโค้ดที่สาม เว็บไซต์ปาร์ตี้ XSS เป็นช่องโหว่ด้านความปลอดภัยของคอมพิวเตอร์ในแอปพลิเคชันเว็บที่ช่วยให้ผู้โจมตีใส่สคริปต์ฝั่งไคลเอ็นต์ลงในหน้าเว็บที่ผู้ใช้รายอื่นดูได้ ในทางกลับกัน CSRF เป็นกิจกรรมที่เป็นอันตรายประเภทหนึ่งของแฮ็กเกอร์หรือเว็บไซต์ที่ส่งคำสั่งที่ไม่ได้รับอนุญาตซึ่งเว็บแอปพลิเคชันของผู้ใช้จะเชื่อถือ
การพัฒนาเว็บเป็นกระบวนการของการเขียนโปรแกรมเว็บไซต์ตามความต้องการของลูกค้าทุกองค์กรดูแลเว็บไซต์ เว็บไซต์เหล่านี้ช่วยปรับปรุงธุรกิจและทำกำไร ในขณะเดียวกัน ก็อาจมีภัยคุกคามที่ส่งผลต่อการทำงานของเว็บไซต์ สองในนั้นคือ XSS และ CSRF
XSS คืออะไร
XSS คือการโจมตีด้วยการแทรกโค้ดที่แทรกโค้ดที่เป็นอันตรายลงในเว็บไซต์ เป็นหนึ่งในการโจมตีเว็บไซต์ที่พบบ่อยที่สุด มันสามารถส่งผลกระทบต่อเว็บไซต์และยังสามารถส่งผลกระทบต่อผู้ใช้ของเว็บไซต์นั้น กล่าวอีกนัยหนึ่ง เมื่อมีการโจมตี XSS บนเว็บไซต์ เบราว์เซอร์จะรันโค้ดนั้นในผู้ใช้ของเว็บไซต์นั้น
รูปที่ 01: XSS Attack
หนึ่งภาษาทั่วไปในการเขียนโค้ดที่เป็นอันตรายสำหรับ XSS คือ JavaScript XSS สามารถขโมยคุกกี้ของผู้ใช้ได้ สามารถปรับเปลี่ยนหน้าเว็บให้มีลักษณะและพฤติกรรมที่แตกต่างออกไป นอกจากนี้ยังสามารถแสดงการดาวน์โหลดมัลแวร์และเปลี่ยนการตั้งค่าของผู้ใช้
การโจมตี XSS มีสองประเภท พวกเขาเรียกว่าถาวรและไม่ถาวร ในการโจมตี XSS แบบถาวร โค้ดที่เป็นอันตรายจะถูกเก็บไว้ในฐานข้อมูลเว็บไซต์ ผู้ใช้อาจเข้าถึงได้โดยปราศจากความรู้ใดๆ การโจมตี XSS แบบไม่ต่อเนื่องเรียกอีกอย่างว่า Reflected XSS มันส่งสคริปต์ที่เป็นอันตรายเป็นคำขอ HTTP นี่คือสองประเภทหลักใน XSS
CSRF คืออะไร
ในเว็บไซต์ จะมีฝั่งไคลเอ็นต์และฝั่งเซิร์ฟเวอร์ หน้าเว็บ แบบฟอร์มต่างๆ จะอยู่ฝั่งไคลเอ็นต์ ฝั่งเซิร์ฟเวอร์ดำเนินการเมื่อผู้ใช้ดำเนินการ ฝั่งเซิร์ฟเวอร์ได้รับคำขอจากเว็บไซต์อื่นด้วย
การโจมตี CSRF หลอกให้ผู้ใช้โต้ตอบกับหน้าหรือสคริปต์บนไซต์ของบุคคลที่สาม มันจะสร้างคำขอที่เป็นอันตรายไปยังไซต์ของผู้ใช้ แต่เซิร์ฟเวอร์ถือว่าเป็นคำขอจากเว็บไซต์ที่ได้รับอนุญาต เมื่อผู้ใช้ยอมรับ ผู้โจมตีสามารถควบคุมได้โดยใช้ข้อมูลที่ส่งในคำขอ
ตัวอย่างหนึ่งมีดังนี้ผู้ใช้ลงชื่อเข้าใช้บัญชีธนาคารของเขา ธนาคารให้โทเค็นเซสชันแก่เขา แฮ็กเกอร์สามารถหลอกให้ผู้ใช้คลิกลิงก์ปลอมที่ชี้ไปที่ธนาคาร เมื่อผู้ใช้คลิกลิงก์ จะใช้โทเค็นเซสชันก่อนหน้า จากนั้น คำขอของแฮ็กเกอร์จะดำเนินการ และบัญชีผู้ใช้จะถูกแฮ็ก เขาสามารถโอนเงินจากบัญชีของเขา คำขอไปยังธนาคารถูกปลอมแปลงเนื่องจากใช้โทเค็นเซสชันเดียวกันของผู้ใช้ โดยรวมแล้ว สิ่งสำคัญคือต้องรู้วิธีป้องกันเว็บไซต์จากการโจมตี CSRF ในการพัฒนาเว็บ
XSS กับ CSRF ต่างกันอย่างไร
XSS ย่อมาจาก Cross Site Scripting และ CSRF ย่อมาจาก Cross Site Request Forgery XSS เป็นช่องโหว่ด้านความปลอดภัยของคอมพิวเตอร์ประเภทหนึ่งในเว็บแอปพลิเคชันที่ช่วยให้ผู้โจมตีสามารถแทรกสคริปต์ฝั่งไคลเอ็นต์ลงในหน้าเว็บที่ผู้ใช้รายอื่นดูได้ CSRF เป็นกิจกรรมที่เป็นอันตรายประเภทหนึ่งของแฮ็กเกอร์หรือเว็บไซต์ที่ส่งคำสั่งที่ไม่ได้รับอนุญาตซึ่งเว็บแอปพลิเคชันของผู้ใช้จะเชื่อถือ นอกจากนี้ XSS ยังต้องการ JavaScript เพื่อเขียนโค้ดที่เป็นอันตรายในขณะที่ CSRF ไม่ต้องการ JavaScript
นอกจากนี้ ใน XSS ไซต์ยอมรับโค้ดที่เป็นอันตรายในขณะที่อยู่ใน CSRF โค้ดที่เป็นอันตรายจะถูกเก็บไว้ในไซต์ของบุคคลที่สาม นี่คือข้อแตกต่างที่สำคัญระหว่าง XSS และ CSRF โดยปกติ ไซต์ที่เสี่ยงต่อการโจมตี XSS ก็เสี่ยงต่อการโจมตี CSRF เช่นกัน อย่างไรก็ตาม ไซต์ที่มีการป้องกันจาก XSS ยังคงมีความเสี่ยงต่อการโจมตี CSRF
สรุป – XSS กับ CSRF
XSS และ CSRF เป็นการโจมตีเว็บไซต์สองประเภท XSS ย่อมาจาก Cross Site Scripting ในขณะที่ CSRF ย่อมาจาก Cross Site Request Forgery ความแตกต่างระหว่าง XSS และ CSRF คือใน XSS ไซต์ยอมรับโค้ดที่เป็นอันตราย ในขณะที่ใน CSRF โค้ดที่เป็นอันตรายจะถูกเก็บไว้ในไซต์ของบุคคลที่สาม