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:

ขอให้โชคดี!


วิธีย่อขนาดหน้าจอใน Windows 10

วิธีย่อขนาดหน้าจอใน Windows 10

บทความนี้จะแสดงวิธีย่อขนาดหน้าจอใน Windows 10 เพื่อให้คุณใช้งานได้อย่างมีประสิทธิภาพ

วิธีปิด (หรือเปิด) Xbox Game Bar บน Windows 10

วิธีปิด (หรือเปิด) Xbox Game Bar บน Windows 10

Xbox Game Bar เป็นเครื่องมือสนับสนุนที่ยอดเยี่ยมที่ Microsoft ติดตั้งบน Windows 10 ซึ่งผู้ใช้สามารถเรียนรู้วิธีเปิดหรือปิดได้อย่างง่ายดาย

5 วิธีในการจดบันทึกบน Windows 11 โดยไม่ต้องดาวน์โหลดซอฟต์แวร์

5 วิธีในการจดบันทึกบน Windows 11 โดยไม่ต้องดาวน์โหลดซอฟต์แวร์

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

วิธีนำแอพพลิเคชั่นไปไว้บนหน้าจอคอมพิวเตอร์ Windows 11

วิธีนำแอพพลิเคชั่นไปไว้บนหน้าจอคอมพิวเตอร์ Windows 11

หากคุณคุ้นเคยกับ Windows 10 หรือเวอร์ชันก่อนหน้า คุณอาจประสบปัญหาในการนำแอปพลิเคชันไปยังหน้าจอคอมพิวเตอร์ของคุณในอินเทอร์เฟซ Windows 11 ใหม่ มาทำความรู้จักกับวิธีการง่ายๆ เพื่อเพิ่มแอพพลิเคชั่นลงในเดสก์ท็อปของคุณ

วิธีถอนการติดตั้งไดรเวอร์บน Windows อย่างสมบูรณ์

วิธีถอนการติดตั้งไดรเวอร์บน Windows อย่างสมบูรณ์

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

วิธีเปิดใช้งานแป้นพิมพ์เสมือน/แป้นพิมพ์สัมผัสบน Windows 11

วิธีเปิดใช้งานแป้นพิมพ์เสมือน/แป้นพิมพ์สัมผัสบน Windows 11

เรียนรู้วิธีเปิดใช้งานแป้นพิมพ์เสมือนบน Windows 11 เพื่อเพิ่มความสะดวกในการใช้งาน ผสานเทคโนโลยีใหม่เพื่อประสบการณ์ที่ดียิ่งขึ้น

วิธีใช้ AdLock เพื่อบล็อกโฆษณาบนคอมพิวเตอร์ของคุณ

วิธีใช้ AdLock เพื่อบล็อกโฆษณาบนคอมพิวเตอร์ของคุณ

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

หนอนคืออะไร? เหตุใดจึงเป็นอันตรายต่อคอมพิวเตอร์?

หนอนคืออะไร? เหตุใดจึงเป็นอันตรายต่อคอมพิวเตอร์?

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

วิธีดาวน์โหลด อัปเดต และแก้ไขปัญหาไดรเวอร์ USB บน Windows 10

วิธีดาวน์โหลด อัปเดต และแก้ไขปัญหาไดรเวอร์ USB บน Windows 10

เรียนรู้วิธีดาวน์โหลดและอัปเดตไดรเวอร์ USB บนอุปกรณ์ Windows 10 เพื่อให้ทำงานได้อย่างราบรื่นและมีประสิทธิภาพ

5 วิธีในการปรับแต่ง Xbox Game Bar บน Windows PC

5 วิธีในการปรับแต่ง Xbox Game Bar บน Windows PC

หากคุณต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ Xbox Game Bar และวิธีปรับแต่งให้เหมาะกับประสบการณ์การเล่นเกมที่สมบูรณ์แบบของคุณ บทความนี้มีข้อมูลทั้งหมด