FixVibe
Covered by FixVibehigh

Сайт хоорондын скриптийг илрүүлэх, урьдчилан сэргийлэх (XSS) эмзэг байдлыг

Сайт хоорондын скрипт (XSS) нь хэрэглүүр нь зохих баталгаажуулалт, кодчилолгүйгээр вэб хуудсанд найдваргүй өгөгдлийг оруулсан тохиолдолд үүсдэг. Энэ нь халдагчдад хохирогчийн хөтөч дээр хортой скрипт ажиллуулах боломжийг олгодог бөгөөд энэ нь сесс хулгайлах, зөвшөөрөлгүй үйлдэл хийх, нууц мэдээллийг задруулахад хүргэдэг.

CWE-79

Нөлөөлөл

Сайт хоорондын скриптийн (XSS) эмзэг байдлыг амжилттай ашигласан халдагчид хохирогч хэрэглэгчийн дүрд хувирч, хэрэглэгчийн хийх зөвшөөрөлтэй аливаа үйлдлийг хийж, [S1] хэрэглэгчийн аливаа өгөгдөлд хандах боломжтой. Үүнд акаунтуудыг хулгайлах, хуурамч маягтаар нэвтрэн нэвтрэх мэдээллийг авах, [S1][S2] виртуаль эвдрэлийг хийх зэрэг күүки хулгайлах зэрэг орно. Хэрэв хохирогч нь захиргааны эрхтэй бол халдагчид програм болон түүний [S1] өгөгдлийг бүрэн хянах боломжтой.

Үндсэн шалтгаан

XSS нь хэрэглүүр нь хэрэглэгчийн удирдаж болох оролтыг хүлээн авч, [S2]-г зохих ёсоор саармагжуулж, кодчилолгүйгээр вэб хуудсанд оруулах үед үүсдэг. Энэ нь вэбсайтуудыг бие биенээсээ тусгаарлах [S1][S2] гэсэн ижил гарал үүслийн бодлогыг тойрч, хохирогчийн хөтчөөр оролтыг идэвхтэй контент (JavaScript) гэж тайлбарлах боломжийг олгодог.

Эмзэг байдлын төрлүүд

  • Туссан XSS: Хортой скриптүүд нь вэб программаас хохирогчийн хөтөч рүү ихэвчлэн [S1] URL параметрээр тусгагдсан байдаг.
  • Хадгалагдсан XSS: Скрипт нь сервер дээр (жишээ нь, мэдээллийн сан эсвэл тайлбар хэсэгт) байнга хадгалагдаж, дараа нь [S1][S2] хэрэглэгчдэд үйлчилдэг.
  • DOM-д суурилсан XSS: Энэ эмзэг байдал нь innerHTML [S1] руу бичих гэх мэт найдвартай бус эх сурвалжаас авсан өгөгдлийг боловсруулдаг үйлчлүүлэгчийн кодонд бүхэлдээ байдаг.

Бетон засвар

  • Гаралт дээрх өгөгдлийг кодлох: Хэрэглэгчийн удирдаж болох өгөгдлийг гаргахаасаа өмнө аюулгүй хэлбэрт хөрвүүлэх. HTML биетийн хувьд HTML нэгжийн кодчилол, [S1][S2] тухайн контекстэд тохирох JavaScript эсвэл CSS кодчилол ашиглана уу.
  • Ирэх үед оролтыг шүүнэ үү: Хүлээгдэж буй оролтын форматын хатуу зөвшөөрөгдсөн жагсаалтыг хэрэгжүүлж, [S1][S2]-тэй нийцэхгүй байгаа бүхнээс татгалзаарай.
  • Аюулгүй байдлын толгой хэсгийг ашиглах: JavaScript [S2]-ээр нэвтрэхээс сэргийлэхийн тулд сесс күүкиг дээр HttpOnly тугийг тохируулна уу. Хөтөчүүд хариултыг [S1] гүйцэтгэх код гэж буруу тайлбарлахгүй байхын тулд Content-Type болон X-Content-Type-Options: nosniff-г ашиглана уу.
  • Агуулгын аюулгүй байдлын бодлого (CSP): Скриптүүдийг ачаалж, ажиллуулж болох эх сурвалжийг хязгаарлахын тулд хүчирхэг CSP-г байрлуулж, ZXCVFIXVIBETOKEN0ZXFIXVXVCVCVCVCVCVCVCVVFIXVBETOKEN0ZXFIXVXCVCVCV.

FixVibe үүнийг хэрхэн туршиж үздэг

FixVibe нь [S1] сканнерын тогтсон арга зүйд суурилсан олон давхаргат арга замаар XSS-ийг илрүүлж чадна:

  • Идэвхгүй сканнерууд: XSS ZXCVFIXVIBETOKEN2ZXV-ийг багасгахад зориулагдсан Content-Security-Policy эсвэл X-Content-Type-Options зэрэг дутуу эсвэл сул хамгаалалтын толгойнуудыг тодорхойлох.
  • Идэвхтэй шалгалтууд: URL параметрүүд болон маягтын талбарт өвөрмөц, хор хөнөөлгүй үсэг тоон мөрүүдийг оруулах нь [S1]-г зөв кодчилолгүйгээр хариултын хэсэгт тусгагдсан эсэхийг тодорхойлох.
  • Репо сканнер: D4VIXBETOKENVCVC-ийн нийтлэг үзүүлэлтүүд болох innerHTML, document.write, setTimeout гэх мэт найдвартай бус өгөгдөлтэй харьцдаг "угаалтуурууд"-ын хувьд үйлчлүүлэгч талын JavaScript-д шинжилгээ хийж байна. [S1].