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

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
ภาษาซี กับ โจทย์ คำนวณ BMI
โดย Aussadawut ส 17 พ.ย. 2018 7:34 pm บอร์ด Share Knowledge
0
7
ส 17 พ.ย. 2018 7:34 pm โดย Aussadawut
list หัวข้อเเชร์ความรู้
โดย ธวัชชัย แสนหาญ ส 17 พ.ย. 2018 7:18 pm บอร์ด MT27 - ธวัชชัย แสนหาญ
0
2
ส 17 พ.ย. 2018 7:18 pm โดย ธวัชชัย แสนหาญ
การใช้ Foreach loop Statements ใน python
โดย ธวัชชัย แสนหาญ ส 17 พ.ย. 2018 7:16 pm บอร์ด Python Knowledge
0
8
ส 17 พ.ย. 2018 7:16 pm โดย ธวัชชัย แสนหาญ
การกำหนดค่าให้ for if
โดย จันนุสรณ์ ดีแก่ ส 17 พ.ย. 2018 7:12 pm บอร์ด PHP Knowledge
0
5
ส 17 พ.ย. 2018 7:12 pm โดย จันนุสรณ์ ดีแก่
การสร้างสูตรคูณ ในภาษา php แบบสั้นๆ
โดย จันนุสรณ์ ดีแก่ ส 17 พ.ย. 2018 6:55 pm บอร์ด PHP Knowledge
0
5
ส 17 พ.ย. 2018 6:55 pm โดย จันนุสรณ์ ดีแก่
การUpdateค่าในตัวแปรชนิด list ใน python
โดย ธวัชชัย แสนหาญ ส 17 พ.ย. 2018 6:45 pm บอร์ด Python Knowledge
0
6
ส 17 พ.ย. 2018 6:45 pm โดย ธวัชชัย แสนหาญ
การใชังานตัวแปร dictionary ใน python
โดย ธวัชชัย แสนหาญ ส 17 พ.ย. 2018 6:19 pm บอร์ด Share Knowledge
0
6
ส 17 พ.ย. 2018 6:19 pm โดย ธวัชชัย แสนหาญ
การใช้เงื่อนไข switch case
โดย จันนุสรณ์ ดีแก่ ส 17 พ.ย. 2018 6:12 pm บอร์ด PHP Knowledge
0
4
ส 17 พ.ย. 2018 6:12 pm โดย จันนุสรณ์ ดีแก่
ภาษาซี กับ โจทย์ Loop ในตำนาน (7) รับค่าตัวเลขไปเรื่อยๆจนกว่าจะเจอเลข 0 แล้วจึงหยุดรับค่า พร้อมทั้งนับว่าหารด้วย 5 ลงตัว
โดย Aussadawut ส 17 พ.ย. 2018 6:08 pm บอร์ด Share Knowledge
0
7
ส 17 พ.ย. 2018 6:08 pm โดย Aussadawut
การกำหนดตัวแปร ใน python
โดย ธวัชชัย แสนหาญ ส 17 พ.ย. 2018 5:09 pm บอร์ด Share Knowledge
0
7
ส 17 พ.ย. 2018 5:09 pm โดย ธวัชชัย แสนหาญ
ภาษาซี กับ โจทย์ Loop ในตำนาน (6) รับค่าตัวเลขไปเรื่อยๆจนกว่าจะเจอเลข 0 แล้วจึงหยุดรับค่า
โดย Aussadawut ส 17 พ.ย. 2018 4:59 pm บอร์ด Share Knowledge
0
9
ส 17 พ.ย. 2018 4:59 pm โดย Aussadawut
ภาษาซี กับ โจทย์ Loop ในตำนาน (5) แสดงเลขคู่/คี่ ด้วย Loop do while ตั้ง 0 จนถึง 100
โดย Aussadawut ส 17 พ.ย. 2018 4:23 pm บอร์ด Share Knowledge
0
9
ส 17 พ.ย. 2018 4:23 pm โดย Aussadawut
ภาษาซี กับ โจทย์ Loop ในตำนาน (4) แสดงเลขคู่/คี่ ด้วย Loop for ตั้ง 0 จนถึง 100
โดย Aussadawut ส 17 พ.ย. 2018 3:23 pm บอร์ด Share Knowledge
0
14
ส 17 พ.ย. 2018 3:23 pm โดย Aussadawut
การสืบทอด Class แบบ Object-Oriented หรือ OOP ใน Python
โดย ธวัชชัย แสนหาญ ส 17 พ.ย. 2018 3:20 pm บอร์ด Python Knowledge
0
10
ส 17 พ.ย. 2018 3:20 pm โดย ธวัชชัย แสนหาญ
ภาษาซี กับ โจทย์ Loop ในตำนาน (3) แสดงเลขคู่/คี่ ด้วย Loop while ตั้ง 0 จนถึง 100
โดย Aussadawut ส 17 พ.ย. 2018 2:57 pm บอร์ด Share Knowledge
0
14
ส 17 พ.ย. 2018 2:57 pm โดย Aussadawut
การใช้ Overriding Method ใน python
โดย ธวัชชัย แสนหาญ ส 17 พ.ย. 2018 2:33 pm บอร์ด Python Knowledge
0
9
ส 17 พ.ย. 2018 2:33 pm โดย ธวัชชัย แสนหาญ
VDO - วิธีการใช้งาน gitlab (กิตแลบ)
โดย prakon ส 17 พ.ย. 2018 1:58 pm บอร์ด MT24 - นายปกรณ์ วิริยะธนวิโรจน์
0
3
ส 17 พ.ย. 2018 1:58 pm โดย prakon
python 2.7 หารตัวเลขเป็น ทศนิยมไม่ได้ แก้ไขยังไงได้บ้างค่ะ
โดย thatsawan ส 17 พ.ย. 2018 12:48 pm บอร์ด Programming - C/C++ & java & Python
3
24
ส 17 พ.ย. 2018 1:14 pm โดย thatsawan
คำสั่งตัดสินใจการทำงาน if, if else if
โดย จันนุสรณ์ ดีแก่ ส 17 พ.ย. 2018 12:13 pm บอร์ด PHP Knowledge
0
10
ส 17 พ.ย. 2018 12:13 pm โดย จันนุสรณ์ ดีแก่
การใช้ operator ในการกำหนดเงื่อนไขใน php
โดย จันนุสรณ์ ดีแก่ ส 17 พ.ย. 2018 11:11 am บอร์ด PHP Knowledge
0
12
ส 17 พ.ย. 2018 11:11 am โดย จันนุสรณ์ ดีแก่