มาทำความรู้จัก Cross Site Request Forgery (CSRF) เพื่อเพิ่มความปลอดภัยกับเว็บไซต์

การโจมตีเว็บสามารถถูกโจมตีจากช่องโหว่เช่น Buffer Overflow (บัฟเฟอร โอเวอฟลาว) ได้เช่นเดียวกันกับ Software (ซอฟต์แวร์) ทุกตัวในโลก แต่ช่องโหว่นั้น นับตั้งแต่ Bug (บั๊ก) ที่เปิดให้ผู้ใช้อัพโหลดสคริปต์ขึ้นไปรันบนเว็บได้ด้วยตัวเอง ไปจนถึงการตรวจสอบสิทธิผู้ใช้ด้วยยูอาร์แอลเพียงอย่างเดียว ทำให้เมื่อผู้ใช้แชร์ url (ยูอาร์แอล) ไป เกิดเหตุการณ์ข้อมูลส่วนตัวรั่วไปได้อย่างง่ายดาย

Cross Site Request Forgery (CSRF)
Cross Site Request Forgery (CSRF)

การโจมตีแบบ Cross-site Request Forgery หรือ CSRF เป็นเทคนิคการโจมตีเว็บไซต์ที่แฮ็คเกอร์นิยมใช้มากขึ้นเรื่อยๆ ซึ่งเป็นการโจมตีที่ใช้ประโยชน์จากความเชื่อของเว็บไซต์ที่มีต่อข้อมูล Input และเบราเซอร์จากผู้ใช้งาน คือ เหยื่อจะถูกหลอกให้กระทำการบางอย่างบนเว็บไซต์ปกติทั่วไป ที่ก่อให้เกิดประโยชน์ต่อแฮ็คเกอร์ในนามของตัวเหยื่อเอง โดยที่ตัวเหยื่อไม่ต้องการกระทำหรือกระทำไปโดยไม่รู้ตัว

หลักการโจมตี

  1. ผู้ใช้งาน login เพื่อทำซื่อขายสินค้า
  2. server ตอบกลับว่า login สำเร็จ
  3. ผู้ใช้งาน ทำการเข้าเว็บไซต์ www.kayride.com
  4. www.kayride.com ทำการสร้าง link ที่ใช้ในการโอนเงิน ส่งไปให้กับเว็บเบราเซอร์ของ user
  5. ว็บเบราเซอร์ทำการ redirect ไปตาม link ที่ www.kayride.com ส่งมา www.ธนาคาร.com ทำการโอนเงินไปให้กับ kayride เนื่องจากเป็น request ที่ถูกส่งมาจาก user ที่ทำการ login อยู่ในระบบแล้ว (ขั้นตอนนี้ แฮกเกอร์ สามารถขโมบเงินจากธนาคารของ ผู้ใช้เท่าไรก็ได้)

ในขั้นตอนของการ redirect kayride เทคนิคที่ใช้ <img> tag ดังตัวอย่างด้านล่าง

<img src="http://www.somebank.com?send_money_to=kayride_account&amount=10000000></img>

YouTube: ก็เคยถูกโจมตีด้วย CSRF เช่นกัน จากยูอาร์แอลของการเพิ่มวิดีโอเข้า playlist ที่ไม่มีการตรวจสอบล่วงหน้า และมี playlist พิเศษที่ทำให้ชื่อเป็น add_to_favorite ทำให้แฮกเกอร์สามารถเพิ่มวิดีโอที่ต้องการโปรโมทเข้าไปยังผู้ใช้ทุกคนได้

แนวทางการในการป้องกัน CSRF

CSRF มีสาเหตุหลักมาจากการที่เว็บไม่ได้ทำการตรวจสอบว่า request ที่ถูกส่งมาจากผู้ใช้งานนั้นถูกส่งมาจากผู้ใช้งานจริงโดยตั้งใจหรือไม่ ดังนั้น แนวทางในการป้องกัน CSRF ประกอบไปด้วย 3 วิธีหลัก ๆ ได้แก่

  1. Synchronizer Token Pattern
  2. HTTP referer header
  3. Re-authentication & CAPTCHA
CSRF
CSRF

 

Cross-site Request Forgery (CSRF) เป็นช่องโหว่ที่เกิดจากการที่ผู้ไม่หวังดีทำการสั่งให้เว็บเบราเซอร์ของเหยื่อส่งคำสั่งไปให้กับเว็บแอปพลิเคชัน CSRF สามารถสร้างผลกระทบต่อผู้ใช้งานอย่างร้ายแรง เช่น การโอนเงินจากบัญชีผู้ใช้งานไปยังบัญชีอื่นโดยที่ผู้ใช้งานไม่ได้ยินยอม แนวทางการป้องกัน CSRF ที่ดีที่สุด คือการใช้ Synchronizer Token Pattern ปัจจุบัน

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
CSS will-change คืออะไร? ปรับปรุงประสิทธิภาพ Animation ให้ลื่นไหล
โดย Sakana อ 17 มิ.ย. 2025 5:16 pm บอร์ด HTML CSS
0
4
อ 17 มิ.ย. 2025 5:16 pm โดย Sakana View Topic CSS will-change คืออะไร? ปรับปรุงประสิทธิภาพ Animation ให้ลื่นไหล
แนะนำสถานที่ท่องเที่ยวจังหวัดนนทบุรี และการเดินทางจากเซ็นทรัลเวสต์เกต ไปท่าน้ำนนท์
โดย Sakana จ 16 มิ.ย. 2025 5:17 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
18
จ 16 มิ.ย. 2025 5:17 pm โดย Sakana View Topic แนะนำสถานที่ท่องเที่ยวจังหวัดนนทบุรี และการเดินทางจากเซ็นทรัลเวสต์เกต ไปท่าน้ำนนท์
ติดตั้ง n8n บนเครื่องตัวเอง โดยใช้ Ubuntu เป็น Server
โดย mindphp จ 16 มิ.ย. 2025 1:44 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
7
จ 16 มิ.ย. 2025 1:44 pm โดย mindphp View Topic ติดตั้ง n8n บนเครื่องตัวเอง โดยใช้ Ubuntu เป็น Server
แก้ปัญหาเข้าหน้า Control panel เพื่อจัดการตั้งค่า Network ภายในไม่ได้
โดย mindphp จ 16 มิ.ย. 2025 8:44 am บอร์ด Share Knowledge
0
16
จ 16 มิ.ย. 2025 8:44 am โดย mindphp View Topic แก้ปัญหาเข้าหน้า Control panel เพื่อจัดการตั้งค่า Network ภายในไม่ได้
อัพเดดคืบหน้า แนะนำ Feature - คู่มือ - vdo สอนใช้งาน
โดย mindphp ศ 06 มิ.ย. 2025 7:19 pm บอร์ด AsiaTest - Developer
0
1
ศ 06 มิ.ย. 2025 7:19 pm โดย mindphp View Topic อัพเดดคืบหน้า แนะนำ Feature - คู่มือ - vdo สอนใช้งาน
บันทึกประชุมกับทางลูกค้า สรุปความต้องการ
โดย mindphp ศ 06 มิ.ย. 2025 7:19 pm บอร์ด AsiaTest - Developer
0
1
ศ 06 มิ.ย. 2025 7:19 pm โดย mindphp View Topic บันทึกประชุมกับทางลูกค้า สรุปความต้องการ
สอบถาม Verification ของ google developer ติดขั้นตอน Homepage requirement
โดย eange08 พฤ 29 พฤษภาคม 2025 1:24 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
2
5141
พฤ 05 มิ.ย. 2025 1:51 pm โดย eange08 View Topic สอบถาม Verification ของ google developer ติดขั้นตอน Homepage requirement
ไข้หวัดใหญ่อาการหนักแค่ไหน ค่ารักษาเท่าไหร่
โดย Ellache จ 26 พฤษภาคม 2025 2:36 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
3931
จ 26 พฤษภาคม 2025 2:36 pm โดย Ellache View Topic ไข้หวัดใหญ่อาการหนักแค่ไหน ค่ารักษาเท่าไหร่