ให้เรตสมาชิก: 1 / 5

ดาวใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 

มาทำความรู้จัก 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 ปัจจุบัน

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
ทำความรู้การปิดบัญชี เพื่อให้ทราบผลการดำเนินไปประกอบในการตัดสินใจวางแผนธุรกิจ
โดย nutchasn พฤ 30 ม.ค. 2020 5:06 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
188
พฤ 30 ม.ค. 2020 5:06 pm โดย nutchasn
ทำความเข้าใจในการปิดงบบัญชี เพิ่อให้เป็นการปิดงบที่สมบูรณ์
โดย nutchasn พฤ 30 ม.ค. 2020 4:36 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
158
พฤ 30 ม.ค. 2020 4:36 pm โดย nutchasn
อยากทราบวิธีการดึงค่าเลขเวอร์ชั่นในไฟล์ XML ของ components joomla
โดย jamepiyawat พฤ 30 ม.ค. 2020 3:28 pm บอร์ด Joomla Development
3
2771
พฤ 30 ม.ค. 2020 5:34 pm โดย tsukasaz
อัพเดทกันหรือยัง! Joomla 3.9.15 ปรับปรุงความปลอดภัยและแก้ไขข้อผิดพลาดต่างๆ
โดย tsukasaz พฤ 30 ม.ค. 2020 11:37 am บอร์ด MindPHP News & Feedback
0
2234
พฤ 30 ม.ค. 2020 11:37 am โดย tsukasaz
วิธีการนำข้อความที่ผู้ใช้กรอกให้เข้าไปอยู่ในไฟล์ pdf ด้วยภาษา php
โดย jamepiyawat พ 29 ม.ค. 2020 6:53 pm บอร์ด PHP Knowledge
0
208
พ 29 ม.ค. 2020 6:53 pm โดย jamepiyawat
ติดตั้ง module flaskwebgui ไม่ได้ครับ
โดย benzas00123 พ 29 ม.ค. 2020 6:53 pm บอร์ด Programming - C/C++ & java & Python
2
227
พฤ 30 ม.ค. 2020 11:52 am โดย jirawoot
ความรู้พื้นฐานเกี่ยวกับบัญชีแยกประเภท
โดย nutchasn พ 29 ม.ค. 2020 6:32 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
171
พ 29 ม.ค. 2020 6:32 pm โดย nutchasn
Pillow library ฟังก์ชั่น Image.new() ฟังก์ชั่นที่ใช้สำหรับการสร้างไฟล์รูปภาพ
โดย benzas00123 พ 29 ม.ค. 2020 6:21 pm บอร์ด Python Knowledge
0
216
พ 29 ม.ค. 2020 6:21 pm โดย benzas00123
ความรู้พื้นฐานเกี่ยวกับงบทดลอง (Taial Balance)
โดย nutchasn พ 29 ม.ค. 2020 6:00 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
147
พ 29 ม.ค. 2020 6:00 pm โดย nutchasn
Pillow library ฟังก์ชั่น ImageDraw() ฟังก์ชั่นสำหรับการเพิ่มตัวอักษรเข้าไปในภาพ
โดย benzas00123 พ 29 ม.ค. 2020 5:52 pm บอร์ด Python Knowledge
0
230
พ 29 ม.ค. 2020 5:52 pm โดย benzas00123
การปรับปรุงค่าใช้จ่ายจ่ายล่วงหน้า (Prepaid expenses)
โดย nutchasn พ 29 ม.ค. 2020 5:29 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
152
พ 29 ม.ค. 2020 5:29 pm โดย nutchasn
วิธีการเขียน php สำหรับตรวจสอบหมายเลขบัตรประชาชนว่ามีความถูกต้องหรือไม่
โดย Ittichai_chupol พ 29 ม.ค. 2020 5:24 pm บอร์ด PHP Knowledge
0
232
พ 29 ม.ค. 2020 5:24 pm โดย Ittichai_chupol
ทำความรู้จักกับชนิดข้อมูลใน SQL
โดย nutchasn พ 29 ม.ค. 2020 4:38 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
163
พ 29 ม.ค. 2020 4:38 pm โดย nutchasn
วิธีการปรับปรุงรายได้รับล่วงหน้า (Deferred Income)
โดย nutchasn พ 29 ม.ค. 2020 3:38 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
159
พ 29 ม.ค. 2020 3:38 pm โดย nutchasn
ผมไม่สามารถใช้ module tkinter ได้ครับ
โดย benzas00123 พ 29 ม.ค. 2020 2:04 pm บอร์ด Programming - C/C++ & java & Python
10
439
พฤ 30 ม.ค. 2020 10:15 am โดย benzas00123
การปรับปรุงรายได้ค้างรับ (Accrued Revenue)
โดย nutchasn พ 29 ม.ค. 2020 2:09 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
161
พ 29 ม.ค. 2020 2:09 pm โดย nutchasn
ปิด textbox เพื่อให้ไม่สามารถแก้ไขข้อมูลได้ด้วย radio button
โดย benzas00123 พ 29 ม.ค. 2020 11:31 am บอร์ด HTML CSS
0
246
พ 29 ม.ค. 2020 11:31 am โดย benzas00123
อยากทราบวิธีการ insert ข้อมูลในตอนติดตั้ง Extension ของ phpbb
โดย Ittichai_chupol พ 29 ม.ค. 2020 11:03 am บอร์ด Programming - PHP
1
721
พ 29 ม.ค. 2020 11:08 am โดย thatsawan
เจอของจริง
โดย noppadonsk พ 29 ม.ค. 2020 10:58 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
100
พ 29 ม.ค. 2020 10:58 am โดย noppadonsk
อยากทราบวิธีแยกข้อมูลที่เรียงกันอย่างไม่เป็นระเบียบเข้า DB
โดย meetingyou999 อ 28 ม.ค. 2020 10:37 pm บอร์ด Programming - PHP
0
294
อ 28 ม.ค. 2020 10:37 pm โดย meetingyou999