FixVibe
Covered by FixVibehigh

Canfod ac Atal Sgriptio Traws-Safle (XSS) Gwendidau

Mae Sgriptio Traws-Safle (XSS) yn digwydd pan fydd cymhwysiad yn cynnwys data di-ymddiried mewn tudalen we heb ddilysu nac amgodio priodol. Mae hyn yn caniatáu i ymosodwyr weithredu sgriptiau maleisus ym mhorwr y dioddefwr, gan arwain at herwgipio sesiwn, gweithredoedd anawdurdodedig, a datguddiad data sensitif.

CWE-79

Effaith

Gall ymosodwr sy'n manteisio'n llwyddiannus ar fregusrwydd Sgriptio Traws-Safle (XSS) guddio fel defnyddiwr dioddefwr, cyflawni unrhyw gamau y mae'r defnyddiwr wedi'u hawdurdodi i'w cyflawni, a chael mynediad at unrhyw ddata'r defnyddiwr [S1]. Mae hyn yn cynnwys dwyn cwcis sesiwn i herwgipio cyfrifon, dal manylion mewngofnodi trwy ffurflenni ffug, neu berfformio difwyno rhithwir [S1][S2]. Os oes gan y dioddefwr freintiau gweinyddol, gall yr ymosodwr ennill rheolaeth lawn dros y cais a'i ddata [S1].

Achos Gwraidd

Mae XSS yn digwydd pan fydd rhaglen yn derbyn mewnbwn y gellir ei reoli gan y defnyddiwr ac yn ei gynnwys mewn tudalen we heb niwtraliad neu amgodio priodol [S2]. Mae hyn yn caniatáu i'r mewnbwn gael ei ddehongli fel cynnwys gweithredol (JavaScript) gan borwr y dioddefwr, gan osgoi'r Polisi Same Origin a gynlluniwyd i ynysu gwefannau oddi wrth ei gilydd [S1][S2].

Mathau o Agored i Niwed

  • Adlewyrchir XSS: Adlewyrchir sgriptiau maleisus oddi ar raglen we i borwr y dioddefwr, fel arfer trwy baramedr URL [S1].
  • Wedi'i storio XSS: Mae'r sgript yn cael ei storio'n barhaol ar y gweinydd (e.e., mewn cronfa ddata neu adran sylwadau) a'i weini i ddefnyddwyr yn ddiweddarach [S1][S2].
  • XSS yn seiliedig ar DOM: Mae'r bregusrwydd yn bodoli'n gyfan gwbl mewn cod ochr cleient sy'n prosesu data o ffynhonnell nad yw'n ymddiried ynddi mewn ffordd anniogel, megis ysgrifennu at innerHTML [S1].

Atgyweiriadau Concrit

  • Amgodio Data ar Allbwn: Trosi data y gellir ei reoli gan ddefnyddwyr yn ffurf ddiogel cyn ei rendro. Defnyddio amgodio endid HTML ar gyfer y corff HTML, ac amgodio JavaScript neu CSS priodol ar gyfer y cyd-destunau penodol hynny [S1][S2].
  • Hidlo Mewnbwn wrth Gyrraedd: Gweithredwch restrau caniatáu llym ar gyfer fformatau mewnbwn disgwyliedig a gwrthodwch unrhyw beth nad yw'n cydymffurfio [S1][S2].
  • Defnyddiwch Benawdau Diogelwch: Gosodwch y faner HttpOnly ar gwcis sesiwn i atal mynediad trwy JavaScript [S2]. Defnyddiwch Content-Type a X-Content-Type-Options: nosniff i sicrhau nad yw porwyr yn camddehongli ymatebion fel cod gweithredadwy [S1].
  • Polisi Diogelwch Cynnwys (CSP): Defnyddio CSP cryf i gyfyngu ar y ffynonellau y gellir llwytho a gweithredu sgriptiau ohonynt, gan ddarparu haen amddiffyn fanwl [S1]ZXCVFIXVICVK.

Sut mae FixVibe yn ei brofi

Gallai FixVibe ganfod XSS trwy ddull aml-haenog yn seiliedig ar fethodolegau sganio sefydledig [S1]:

  • Sganiau Goddefol: Nodi penawdau diogelwch coll neu wan fel Content-Security-Policy neu X-Content-Type-Options sydd wedi'u cynllunio i liniaru XSS [S1].
  • Archwilwyr Gweithredol: Chwistrellu llinynnau alffaniwmerig unigryw, nad ydynt yn faleisus i baramedrau URL a meysydd ffurf i benderfynu a ydynt yn cael eu hadlewyrchu yn y corff ymateb heb amgodio cywir [S1].
  • Sganiau Repo: Dadansoddi JavaScript ochr y cleient ar gyfer "sinc" sy'n trin data nad yw'n ymddiried ynddo yn ddiogel, megis innerHTML, document.write, neu setTimeout, sy'n ddangosyddion cyffredin sy'n seiliedig ar DKVXCVXCV. [S1].