FixVibe
Covered by FixVibehigh

የድረ-ገጽ አቋራጭ ስክሪፕት (XSS) ተጋላጭነቶችን መፈለግ እና መከላከል

የድረ-ገጽ አቋራጭ ስክሪፕት (XSS) የሚከሰተው አፕሊኬሽኑ በድረ-ገጽ ላይ ያለ ትክክለኛ ማረጋገጫ ወይም ኮድ ያልታመነ ውሂብን ሲያካትት ነው። ይህ አጥቂዎች በተጠቂው አሳሽ ውስጥ ተንኮል አዘል ስክሪፕቶችን እንዲፈጽሙ ያስችላቸዋል፣ ይህም ወደ ክፍለ-ጊዜ ጠለፋ፣ ያልተፈቀዱ ድርጊቶች እና ሚስጥራዊ የመረጃ መጋለጥን ያስከትላል።

CWE-79

# ተጽዕኖ የድረ-ገጽ አቋራጭ ስክሪፕት (XSS) ተጋላጭነት በተሳካ ሁኔታ የሚጠቀም አጥቂ እንደ ተጎጂ ተጠቃሚ ሊመስል፣ ተጠቃሚው እንዲፈጽም የተፈቀደለትን ማንኛውንም ተግባር ማከናወን እና የትኛውንም የተጠቃሚውን ውሂብ [S1] መድረስ ይችላል። ይህ ሂሳቦችን ለመጥለፍ የክፍለ ጊዜ ኩኪዎችን መስረቅ፣ የመግቢያ ምስክርነቶችን በውሸት ቅጾች መያዝን ወይም ምናባዊ ማበላሸትን [S1][S2]ን ያካትታል። ተጎጂው የአስተዳደር መብቶች ካለው፣ አጥቂው በመተግበሪያው እና በመረጃው [S1] ላይ ሙሉ ቁጥጥር ማድረግ ይችላል።

የስር መንስኤ

XSS የሚከሰተው አፕሊኬሽኑ በተጠቃሚ የሚቆጣጠር ግብአት ሲቀበል እና ያለአግባብ ገለልተኛነት ወይም [S2] ሳይገለበጥ በድረ-ገጽ ላይ ሲያካትተው ነው። ይህ ግብአቱን እንደ ገባሪ ይዘት (ጃቫ ስክሪፕት) በተጠቂው አሳሽ እንዲተረጎም ያስችለዋል፣ ይህም ድረ-ገጾችን እርስ በርስ ለመነጠል የተነደፈውን ተመሳሳይ መነሻ ፖሊሲ በመተላለፍ [S1][S2]።

የተጋላጭነት ዓይነቶች

  • የተንጸባረቀ XSS: ተንኮል አዘል ስክሪፕቶች ከድር መተግበሪያ ላይ ለተጎጂው አሳሽ ይገለጣሉ፣በተለይም በዩአርኤል ግቤት [S1]።
  • የተከማቸ XSS: ስክሪፕቱ በቋሚነት በአገልጋዩ ላይ ተከማችቷል (ለምሳሌ፣ በመረጃ ቋት ወይም በአስተያየት ክፍል) እና በኋላ ለተጠቃሚዎች አገልግሏል [S1][S2]።
  • በDOM ላይ የተመሰረተ XSS: ተጋላጭነቱ ሙሉ በሙሉ በደንበኛ-ጎን ኮድ ውስጥ ካለ ታማኝ ካልሆነ ምንጭ የመጣ መረጃ ደህንነቱ ባልተጠበቀ መንገድ ለምሳሌ ወደ innerHTML መጻፍ።

ኮንክሪት ጥገናዎች

  • በውጤት ላይ ያለ ውሂብን ኢንኮድ ያድርጉ፡ በተጠቃሚ የሚቆጣጠር ውሂብን ከማቅረብዎ በፊት ወደ ደህንነቱ የተጠበቀ ቅጽ ይለውጡ። ለኤችቲኤምኤል አካል የኤችቲኤምኤል አካል ኢንኮዲንግ እና ተገቢውን ጃቫስክሪፕት ወይም CSS ኢንኮዲንግ ለእነዚያ ልዩ አውዶች [S1][S2] ይጠቀሙ።
  • በመምጣት ላይ ግቤት አጣራ: ለሚጠበቁ የግቤት ቅርጸቶች ጥብቅ የፈቃድ ዝርዝሮችን ይተግብሩ እና [S1][S2]ን የማያሟላ ማንኛውንም ነገር ውድቅ ያድርጉ።
  • የደህንነት ራስጌዎችን ተጠቀም፡ በጃቫ ስክሪፕት [S2] እንዳይደርስ የHttpOnly ባንዲራ በክፍለ ጊዜ ኩኪዎች ላይ አዘጋጅ። አሳሾች ምላሾችን እንደ ተፈጻሚ ኮድ Content-Type እና X-Content-Type-Options: nosniff ተጠቀም።
  • የይዘት ደህንነት ፖሊሲ (CSP): ጠንካራ CSP ያሰማሩ ስክሪፕቶች ሊጫኑ እና ሊተገበሩ የሚችሉባቸውን ምንጮች ለመገደብ፣የመከላከያ ጥልቀት ያለው ንብርብር

FixVibe እንዴት እንደሚፈትሽ

FixVibe XSS በተመሰረተ የፍተሻ ዘዴዎች ላይ በተመሰረተ ባለ ብዙ ሽፋን አቀራረብ [S1] ማግኘት ይችላል።

  • ተገብሮ ቅኝት፡ XSS Content-Security-Policy ወይም X-Content-Type-Optionsን ለመቀነስ የተነደፉ የጎደሉ ወይም ደካማ የደህንነት ራስጌዎችን መለየት።
  • Active Probes: ልዩ የሆኑ፣ ተንኮል-አዘል ያልሆኑ የፊደል ቁጥሮች ሕብረቁምፊዎችን ወደ ዩአርኤል መመዘኛዎች እና የመስኮች ቅፅ በመከተብ በምላሹ አካል ውስጥ በትክክል [S1] ኮድ ሳያስገቡ የሚንፀባረቁ መሆናቸውን ለማወቅ።
  • Repo Scans:innerHTMLdocument.write፣ ወይም setTimeout የተለመዱ የZVITOKEN2ZXCV አመላካቾች ለመሳሰሉት ታማኝ ያልሆኑ መረጃዎችን ለአስተማማኝ ሁኔታ ለሚያስተናግዱ "sinks" በደንበኛ በኩል ጃቫስክሪፕትን መተንተን። [S1].