Web9: ประเภทของการแสวงหาประโยชน์จาก XSS - ส่วนที่ 3: XSS จาก Dom

Web9: ประเภทของการแสวงหาประโยชน์จาก XSS - ส่วนที่ 3: XSS จาก Dom

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

ก่อนอื่นเราต้องรู้ว่า DOM คืออะไร?

DOM ย่อมาจาก Document Object Model เป็นรูปแบบมาตรฐานของ W3C (http://www.w3.org/DOM/) ที่เสนอให้ดึงและจัดการข้อมูลของเอกสารที่มีโครงสร้าง เช่น HTML และ XML แบบจำลองนี้แสดงเอกสารเป็นโครงสร้างต้นไม้แบบลำดับชั้น องค์ประกอบทั้งหมดใน HTML และ XML ถือเป็นโหนด

DOM Based XSS เป็นเทคนิคการหาประโยชน์จาก XSS โดยอาศัยการเปลี่ยนแปลงโครงสร้าง DOM ของเอกสาร โดยเฉพาะ HTML

ลองดูตัวอย่างเฉพาะด้านล่าง:

เว็บไซต์มี URL ต่อไปนี้ไปยังหน้าการลงทะเบียน:

example.com/register.php?message=Please fill in the form

เมื่อเราเข้าถึงมัน เราเห็นรูปแบบปกติมาก:

Web9: ประเภทของการแสวงหาประโยชน์จาก XSS - ส่วนที่ 3: XSS จาก Dom

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

Web9: ประเภทของการแสวงหาประโยชน์จาก XSS - ส่วนที่ 3: XSS จาก Dom

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

แทนที่จะแคสต์:

message=Please fill in the form

จากนั้นส่ง:

message=GenderMaleFemale

function show(){alert();}

จากนั้นแบบฟอร์มลงทะเบียนจะมีลักษณะดังนี้:

Web9: ประเภทของการแสวงหาประโยชน์จาก XSS - ส่วนที่ 3: XSS จาก Dom

ผู้ใช้จะไม่สงสัยในรูปแบบ "ปกติ" เช่นนี้ และเมื่อเลือกเพศ สคริปต์จะถูกดำเนินการ:

Web9: ประเภทของการแสวงหาประโยชน์จาก XSS - ส่วนที่ 3: XSS จาก Dom

ฉันจะอธิบายเพิ่มเติมอีกเล็กน้อยเกี่ยวกับค่าที่ส่งในพารามิเตอร์ข้อความ:

GenderMaleFemale

function show(){alert();}

วัตถุประสงค์หลักคือเพื่อรันฟังก์ชัน show() ทุกครั้งที่มีเหตุการณ์ onchage บนแท็ก select ฟังก์ชัน show() ที่นี่จะปรากฏขึ้นมาเพื่อแสดงว่าสคริปต์ได้ถูกดำเนินการแล้ว อย่างไรก็ตาม ในความเป็นจริงแฮกเกอร์มักจะใช้ฟังก์ชัน show() นี้เพื่อรันสคริปต์ที่ส่งค่าคุกกี้ของผู้ใช้ไปยังเซิร์ฟเวอร์ที่กำหนดไว้ล่วงหน้า ผู้อ่านสามารถอ่านบทความReflected XSSซึ่งกล่าวถึงวิธีที่แฮกเกอร์สร้างคำขอนี้มีลักษณะอย่างไร

ตัวอย่างนี้ให้ข้อสรุปที่สำคัญสองประการแก่เรา ประการแรก โค้ดที่เป็นอันตรายจะถูกดำเนินการทันทีเมื่อคลิกที่ค่าในแท็ก select ซึ่งหมายความว่าโค้ดดังกล่าวจะถูกดำเนินการทางฝั่งไคลเอ็นต์โดยไม่ต้องผ่านการตอบสนองของเซิร์ฟเวอร์ ประการที่สอง โครงสร้าง HTML มีการเปลี่ยนแปลงตามสคริปต์ที่ส่งผ่าน และเรายังเห็นสถานการณ์การหาประโยชน์ที่เกิดขึ้นจริงอีกด้วย โดย DOM Based นั้นค่อนข้างคล้ายกับ Reflected มากกว่า Stored XSS เมื่อพูดถึงการหลอกให้ผู้ใช้เข้าถึง URL ที่ฝังอยู่กับโค้ดที่เป็นอันตราย

รูปต่อไปนี้อธิบายแต่ละขั้นตอนในการใช้เทคนิคการโจมตี XSS ที่ใช้ DOM:

Web9: ประเภทของการแสวงหาประโยชน์จาก XSS - ส่วนที่ 3: XSS จาก Dom

ด้านล่างนี้เป็นวิดีโอของสมาชิกของฟอรัม WhiteHat.vn ที่กำลังหาประโยชน์ผ่าน XSS ที่ใช้ DOM:

ขอให้โชคดี!


คำแนะนำจาก 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

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