ให้เรตสมาชิก: 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 ปัจจุบัน

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
R - Rotate back up file
โดย Grammanano จ 09 ธ.ค. 2019 8:20 pm บอร์ด M098 - อนงค์นาท ไฝขาว
1
4
จ 09 ธ.ค. 2019 8:24 pm โดย mindphp
การดึงข้อมูลใน ArrayList ภาษา Java
โดย Grammanano จ 09 ธ.ค. 2019 7:42 pm บอร์ด Share Knowledge
0
9
จ 09 ธ.ค. 2019 7:42 pm โดย Grammanano
ฺB - ไม่สามารถ cancel ใบกำกับภาษีที่สร้างผ่าน withholding tax โดยตรงได้
โดย nnamfon.26 จ 09 ธ.ค. 2019 7:27 pm บอร์ด M.D.Soft Co.,Ltd. - Tester
0
4
จ 09 ธ.ค. 2019 7:27 pm โดย nnamfon.26
การเพิ่มข้อมูลใน ArrayList ภาษา Java
โดย Grammanano จ 09 ธ.ค. 2019 6:19 pm บอร์ด Share Knowledge
0
7
จ 09 ธ.ค. 2019 6:19 pm โดย Grammanano
การทำงานแบบ Multitasking เหมาะกับใคร - การทำหลาย ๆ อย่างพร้อมกัน
โดย noppadonsk จ 09 ธ.ค. 2019 6:06 pm บอร์ด Share Knowledge
0
12
จ 09 ธ.ค. 2019 6:06 pm โดย noppadonsk
บทเรียนสำหรับนักออกแบบมือใหม่
โดย noppadonsk จ 09 ธ.ค. 2019 5:48 pm บอร์ด Share Knowledge
0
15
จ 09 ธ.ค. 2019 5:48 pm โดย noppadonsk
มาดูเทรนด์สีมาแรง ในปี 2020
โดย noppadonsk จ 09 ธ.ค. 2019 5:18 pm บอร์ด Graphic design
0
17
จ 09 ธ.ค. 2019 5:18 pm โดย noppadonsk
วิธีการปรับแก้ไขลิ้งค์จากหัวข้อ ให้ไปยังตำแหน่งโพสต์ ที่ยังไม่มีการอ่าน ใน phpbb
โดย Ittichai_chupol จ 09 ธ.ค. 2019 5:16 pm บอร์ด PHP Knowledge
0
9
จ 09 ธ.ค. 2019 5:16 pm โดย Ittichai_chupol
ภาพประกอบ template Mooziicart Helix
โดย numtan5839 จ 09 ธ.ค. 2019 4:29 pm บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
0
4
จ 09 ธ.ค. 2019 4:29 pm โดย numtan5839
VDO - Introducing to Mooziicart Helix - Template MooZiicart
โดย numtan5839 จ 09 ธ.ค. 2019 3:56 pm บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
2
7
จ 09 ธ.ค. 2019 5:43 pm โดย numtan5839
Introducing to Mooziicart coupon feature
โดย numtan5839 จ 09 ธ.ค. 2019 11:30 am บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
2
12
จ 09 ธ.ค. 2019 2:01 pm โดย numtan5839
การสร้าง ArrayList ในภาษา Java
โดย Grammanano จ 09 ธ.ค. 2019 11:28 am บอร์ด Share Knowledge
0
13
จ 09 ธ.ค. 2019 11:28 am โดย Grammanano
เพิ่ม primary key ใน pgadmin แล้ว error ค่ะ
โดย Grammanano จ 09 ธ.ค. 2019 11:15 am บอร์ด SQL - Database
0
12
จ 09 ธ.ค. 2019 11:15 am โดย Grammanano
งานประจำวันที่ 9 ธันวาคม 2562
โดย noppadonsk จ 09 ธ.ค. 2019 10:19 am บอร์ด MT36 - นายนพดล สุชญากูล
2
14
จ 09 ธ.ค. 2019 7:15 pm โดย jamepiyawat
งานประจำวันที่ 9 ธันวาคม 2562
โดย numtan5839 จ 09 ธ.ค. 2019 10:14 am บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
2
10
จ 09 ธ.ค. 2019 7:51 pm โดย numtan5839
Work shop ทำใบปริ้นท์ด้วย RML
โดย Grammanano จ 09 ธ.ค. 2019 10:06 am บอร์ด M098 - อนงค์นาท ไฝขาว
0
3
จ 09 ธ.ค. 2019 10:06 am โดย Grammanano
งานประจำวันที่ 9 ธันวาคม 2562
โดย Grammanano จ 09 ธ.ค. 2019 10:02 am บอร์ด M098 - อนงค์นาท ไฝขาว
4
19
จ 09 ธ.ค. 2019 7:19 pm โดย Grammanano
คำสั่งสร้างชื่อผู้ใช้ใน postgres Command Create User on PostgreSQL
โดย mindphp จ 09 ธ.ค. 2019 4:48 am บอร์ด PostgreSQL
2
22
จ 09 ธ.ค. 2019 5:39 am โดย mindphp
วิธีใช้โปรแกรม Weka ในการทำนายข้อมูล
โดย Grammanano ส 07 ธ.ค. 2019 6:54 pm บอร์ด Share Knowledge
0
24
ส 07 ธ.ค. 2019 6:54 pm โดย Grammanano
พื้นฐาน RML เพื่อทำใบปริ้นท์ในระบบ ERP
โดย Grammanano ส 07 ธ.ค. 2019 4:58 pm บอร์ด M098 - อนงค์นาท ไฝขาว
1
10
ส 07 ธ.ค. 2019 5:47 pm โดย Grammanano