การแฮ็กอย่างมีจริยธรรม - การเขียนสคริปต์ข้ามไซต์
Cross-site Scripting (XSS) คือการโจมตีด้วยการแทรกโค้ดที่อนุญาตให้ผู้โจมตีเรียกใช้ JavaScript ที่เป็นอันตรายในเบราว์เซอร์ของผู้ใช้รายอื่น
ผู้โจมตีไม่ได้พุ่งเป้าไปที่เหยื่อของเขาโดยตรง แต่เขาใช้ประโยชน์จากช่องโหว่ในเว็บไซต์ที่เหยื่อเข้าชมเพื่อให้เว็บไซต์ส่ง JavaScript ที่เป็นอันตรายให้กับเขา สำหรับเบราว์เซอร์ของเหยื่อ JavaScript ที่เป็นอันตรายดูเหมือนจะเป็นส่วนที่ถูกต้องตามกฎหมายของเว็บไซต์และเว็บไซต์จึงทำหน้าที่เป็นผู้สมรู้ร่วมคิดกับผู้โจมตีโดยไม่ได้ตั้งใจ การโจมตีเหล่านี้สามารถทำได้โดยใช้ HTML, JavaScript, VBScript, ActiveX, Flash แต่ XSS ที่ใช้บ่อยที่สุดคือ JavaScript ที่เป็นอันตราย
การโจมตีเหล่านี้ยังสามารถรวบรวมข้อมูลจากการลักลอบใช้บัญชีการเปลี่ยนแปลงการตั้งค่าผู้ใช้การขโมยคุกกี้ / การวางยาพิษหรือการโฆษณาที่ผิดพลาดและสร้างการโจมตี DoS
ตัวอย่าง
ลองมาเป็นตัวอย่างเพื่อทำความเข้าใจวิธีการทำงาน เรามีหน้าเว็บที่มีช่องโหว่ที่เราได้รับจากไฟล์metasploitableเครื่อง. ตอนนี้เราจะทดสอบฟิลด์ที่ไฮไลต์ด้วยลูกศรสีแดงสำหรับ XSS
ก่อนอื่นเราสร้างสคริปต์แจ้งเตือนง่ายๆ
<script>
alert(‘I am Vulnerable’)
</script>
มันจะให้ผลลัพธ์ดังต่อไปนี้ -
ประเภทของการโจมตี XSS
การโจมตี XSS มักแบ่งออกเป็นสามประเภท -
Persistent XSS, ที่สตริงที่เป็นอันตรายมาจากฐานข้อมูลของเว็บไซต์
Reflected XSS, โดยสตริงที่เป็นอันตรายมาจากคำขอของเหยื่อ
DOM-based XSS, โดยที่ช่องโหว่อยู่ในโค้ดฝั่งไคลเอ็นต์แทนที่จะเป็นโค้ดฝั่งเซิร์ฟเวอร์
โดยทั่วไปจะพบการเขียนสคริปต์ข้ามไซต์โดย vulnerability scanners เพื่อที่คุณจะได้ไม่ต้องทำงานด้วยตนเองทั้งหมดโดยใส่ JavaScript ลงไป
<script>
alert('XSS')
</script>
Burp Suite และ acunetix ถือเป็นเครื่องสแกนช่องโหว่ที่ดีที่สุด
เคล็ดลับด่วน
เพื่อป้องกันการโจมตี XSS โปรดคำนึงถึงประเด็นต่อไปนี้ -
ตรวจสอบและตรวจสอบความถูกต้องของฟิลด์ฟอร์มทั้งหมดเช่นฟอร์มที่ซ่อนส่วนหัวคุกกี้สตริงการสืบค้น
ใช้นโยบายความปลอดภัยที่เข้มงวด ตั้งค่าการ จำกัด อักขระในช่องป้อนข้อมูล