nā nāwaliwali o xsssastnā mea hana

Nā nāwaliwali o XSS: Pehea SAST Hiki i nā Mea Hana ke Pale iā lākou

ʻO ka Cross-Site Scripting (XSS) kahi nāwaliwali e hiki ai i ka mea hoʻouka ke hoʻokomo i nā palapala ʻino i loko o kahi ʻaoʻao pūnaewele, nā palapala e holo ai i loko o ka polokalamu kele pūnaewele o kekahi mea hoʻohana me he mea lā no laila lākou. Ua hoʻonohonoho mau ʻia ia ma ka ʻOWASP Top 10, a ke noho nei ia kekahi o nā ala maʻamau e ʻaihue ai nā mea hoʻouka i ka ʻikepili kau, hao i nā moʻokāki, a i ʻole e hōʻino malū i ka hilinaʻi o kahi noi me kāna mau mea hoʻohana ponoʻī.

SAST ʻo nā mea hana kekahi o nā ala kūpono loa e hopu ai i kēia mau nāwaliwali i ka wā mua, e nānā ana i ke code kumu no nā ʻano kikoʻī e ʻae ai iā XSS e hele ma waena, ma mua o ka hiki ʻana o kēlā code i ka hana. Ma kēia pou: nā ʻano ʻekolu maʻamau o XSS, pehea lākou e like ai i ke code maoli, a pehea SAST e pani iā ​​lākou nā mea hana (me kekahi mau hana coding) ma mua o ko lākou hoʻouna ʻana.

He aha nā nāwaliwali o XSS a no ke aha ʻoe e mālama ai?

Hiki mai nā nāwaliwali o XSS ke lawe kahi noi i kahi mea i hoʻokomo ʻole ʻia, kahi mea a ka mea hoʻohana e paʻi ai, hoʻopili ai, a hoʻouna paha i kahi URL, a hoʻihoʻi iā ia i loko o kahi ʻaoʻao me ka ʻole o ka hōʻoia pono ʻana a i ʻole ka pakele ʻana iā ia ma mua. Ke hana ʻia kēlā, hiki i kahi mea hoʻouka ke hoʻokomo malū i kahi palapala ma kahi o ka kikokikona maʻamau, a ʻaʻohe ala o ka polokalamu kele pūnaewele e ʻike ai i ka ʻokoʻa: holo wale ia, me ka hilinaʻi like a me nā ʻae e like me ke koena o ka ʻaoʻao.

ʻO ia ka mea e hoʻoweliweli ai iā XSS ʻoiai he liʻiliʻi pinepine ka hewa ma lalo. Hiki i kahi kahua hoʻokomo hoʻokahi i hoʻomaʻemaʻe ʻole ʻia ke ʻae i kahi mea hoʻouka e ʻaihue i nā kuki kau a hao i kahi moʻokāki i komo ʻia, e hoʻohuli mālie i nā mea hoʻohana i kahi ʻaoʻao phishing, e hoʻopaʻa i nā kī, a i ʻole e kākau hou i ka ʻike a ka malihini e ʻike ai, me ka ʻole o ka hoʻopā pololei ʻana i kāu mau kikowaena. Noho piha ka nāwaliwali i ke ʻano o ka hilinaʻi ʻana o ka polokalamu kele pūnaewele i ka hopena ponoʻī o kāu noi.

ʻO kēia ke kumu e hōʻike pinepine ʻia ai ʻo XSS ma ka OWASP Top 10: ʻaʻole ia e koi i kahi kaulahao hoʻohana paʻakikī, hoʻokahi wale nō mea i nānā ʻole ʻia, a hoʻonui ʻia ka radius blast i kēlā me kēia mea hoʻohana e hoʻouka i ka ʻaoʻao i hoʻopilikia ʻia.

Ua wehewehe ʻia nā hoʻouka kaua XSS: ʻO nā ʻano maʻamau ʻekolu

1. XSS i mālama ʻia: Ka Hoʻoweliweli Mau Loa

Hoʻokomo mau ʻo XSS i mālama ʻia i kahi palapala ʻino ma ke kikowaena, no laila e hoʻā aunoa ia no kēlā me kēia mea hoʻohana e nānā ma hope i ka ʻaoʻao i hoʻopilikia ʻia.

Loaʻa nā nāwaliwali XSS i mālama ʻia ke mālama mau ʻia nā palapala ʻino ma ke kikowaena (e laʻa, ma kahi waihona ʻikepili) a hoʻokō ʻia i kēlā me kēia manawa e komo ai kahi mea hoʻohana i ka ʻaoʻao i hoʻopilikia ʻia.

la'ana: kahi kahua manaʻo e ʻae ana i ka hoʻokomo mea hoʻohana i hōʻoia ʻole ʻia:

<script>alert('Stored XSS')</script>

2. XSS i hōʻike ʻia: Hāʻawi ʻia i ka manawa

Noho ka Reflected XSS i loko o hoʻokahi loulou i hana ʻia, holo wale ka script ke kaomi ʻia e kahi mea i hōʻeha ʻia, maʻamau ma o ka phishing a i ʻole ka ʻenekinia kaiapili.

Hoʻokumu ʻia ka XSS i hōʻike ʻia i ka wā e hoʻokomo ʻia ai nā palapala ʻino i loko o nā URL a hoʻokō ʻia i ka wā e launa pū ai kahi mea hoʻohana me ka loulou, i hāʻawi pinepine ʻia ma o ka phishing a i ʻole ka ʻenekinia kaiapili.

la'ana:

https://example.com/search?q=<script>alert('Reflected XSS')</script>

3. XSS ma muli o DOM: Nā hoʻouka kaua i hūnā ʻia ma ka polokalamu kele pūnaewele

ʻAʻole loa e hoʻopā ka XSS i hoʻokumu ʻia ma DOM i ke kikowaena, hoʻokō piha ka script ʻino i ka ʻaoʻao o ka mea kūʻai aku, ma o JavaScript e hoʻoponopono hewa ana i ka ʻike o ka ʻaoʻao.

Ma kēia ʻano, hoʻohana nā palapala ʻino i nā nāwaliwali i ka JavaScript ʻaoʻao o ka mea kūʻai aku e hoʻopunipuni i ka Document Object Model (DOM).

la'ana: he ʻāpana JavaScript e hōʻike ikaika ana i ka hoʻokomo mea hoʻohana i hoʻomaʻemaʻe ʻole ʻia:

var input = location.hash.substring(1); document.getElementById("output").innerHTML = input; // Vulnerable 

Ke hoihoi nei i ka nui o kēia mau ʻano i loaʻa i kāu codebase ponoʻī? ʻO Xygeni's SAST nānā i ka hae i mālama ʻia, hōʻike ʻia, a me nā pilikia XSS e pili ana iā DOM me ke ʻano aunoa, ma mua o ko lākou hiki ʻana i kahi pull request.

Pehea SAST Hoʻōki nā Mea Hana iā XSS ma kona mau Ala

ʻO ka hoʻāʻo palekana no ka hoʻohana ʻana (SAST) he waiwai nui nā mea hana i ka ʻike ʻana i nā nāwaliwali XSS i ka wā mua o ke ola hoʻomohala polokalamu (SDLC).

Key ia e pōmaikaʻi ai 

Nā pilikia hopu i ka wā mua o ka hoʻomohala ʻana

SAST e nānā nā mea hana i ke code kumu no nā ʻano palupalu ma mua o ka hoʻolaha ʻana o ka noi.
Laʻana o kahi nāwaliwali i hōʻailona ʻia:

document.getElementById("output").innerHTML = userInput; // Vulnerable 

Koho ʻē aʻe palekana:

document.getElementById("output").textContent = sanitize(userInput); // Secure

E kālailai i ke codebase holoʻokoʻa

Hoikehonua, SAST ʻAʻole nānā wale nā ​​​​mea hana i ke code maʻamau; nānā pū lākou i nā mea hilinaʻi a me nā hale waihona puke ʻaoʻao ʻekolu, e ʻike ana i nā pilikia huna.

Hoʻohui pono me CI/CD

SAST e nānā pono nā mea hana no nā nāwaliwali XSS i loko pull requests a e pale i ka hoʻohui ʻia ʻana o ke code palekana ʻole.

E kālele i ka mea nui loa

SAST Hoʻonohonoho nā mea hana i nā hoʻoponopono ma ka loiloi ʻana i ka hiki ke hoʻohana a me ke koʻikoʻi o nā nāwaliwali, e hiki ai i nā hui ke hoʻoponopono mua i nā pilikia koʻikoʻi.

Pehea e kōkua ai ʻo Xygeni iā ​​ʻoe e lanakila i ke kaua kūʻē iā XSS

Hoʻohui ʻo Xygeni i ka loiloi static, ka hoʻoponopono ʻana i hoʻohana ʻia e AI, a me ka ʻike ʻana o ke kaulahao lako e pani i ka hakahaka ma waena o ka loaʻa ʻana o kahi nāwaliwali XSS a me ka hoʻoponopono maoli ʻana. Eia ke ʻano:

  • Code Security (SAST): Nānā i ke code ʻaoʻao mua no XSS a me nā hemahema injection ʻē aʻe e like me ka mea i kākau ʻia, e hopu ana iā lākou ma mua o ka hoʻolaha ʻana. Ma ka OWASP Benchmark, ʻo Xygeni-SAST loaʻa iā ia ka helu maikaʻi maoli 100% ma ka ʻike ʻana iā XSS me ka liʻiliʻi o nā hopena wahaheʻe.
  • Hoʻoponopono Aunoa AI: Hoʻoponopono koke i nā nāwaliwali XSS i hōʻailona ʻia me nā hoʻoponopono mākaukau no ka mea hoʻomohala, e hana ana i kahi pull request me kahi koho palekana i hoʻonohonoho pono ʻia i kāu codebase, ʻaʻohe pono o ka hoʻopili lima ʻana.
  • Palekana polokalamu ʻino: Nānā i nā mea hilinaʻi a me nā hale waihona puke ʻaoʻao ʻekolu no ke code i hoʻokomo ʻia a i ʻole i hoʻopilikia ʻia, no laila ʻaʻole e paheʻe kahi ʻano palupalu e peʻe ana i loko o kahi pūʻolo open-source ma mua o kāu loiloi code ʻaoʻao mua.
  • IDE a me CI/CD Hoʻohui: Hoʻopuka pololei nā hae i ka IDE i ka wā e kākau ʻia ai ke code, a hōʻike i nā mea hou pull requests e hoʻohana aunoa ʻia ma GitHub, GitLab, Bitbucket, Azure DevOps, a me Jenkins, no laila ʻaʻole i hui pū ʻia nā code palupalu ma kahi mua.

Kūkulu i nā noi kūpaʻa: Nā ʻōlelo aʻoaʻo e pale aku i ka hoʻohana ʻana i nā palapala cross-site

No ka hoʻopaʻa hou ʻana i kāu mau polokalamu, e hoʻokō i kēia mau hana me SAST mea hana:

  • E hoʻomaʻemaʻe i nā mea hoʻokomo a ka mea hoʻohana: E hoʻohana i nā hale waihona puke e like me DOMPurify no ka hoʻomaʻemaʻe ikaika.
  • Nā Hoʻopuka Encode: E hoʻopili mau i ka ʻikepili dynamic ma mua o ka hōʻike ʻana i ka polokalamu kele pūnaewele.
  • Hoʻokō i nā Kulekele Palekana ʻIke (CSP): E kaupalena i ka hoʻokō ʻana o ka script i nā kumu hilinaʻi.
  • E hoʻomau i nā loiloi code, ʻaʻole i kēlā me kēia manawa: Ma kahi o ka hoʻonohonoho ʻana i nā loiloi manual, e holo iā Xygeni's SAST nā scans ma ke ʻano he pre-commit lou a pololei paha i loko o kāu CI/CD pipeline (GitHub, GitLab, Bitbucket, Azure DevOps, Jenkins), no laila kēlā me kēia commit ua nānā ʻia ʻakomi ʻia, a ʻaʻole loa e hiki ke code palekana ʻole i kahi hui ʻana.

Ua mākaukau ʻoe e hoʻopaʻa i kāu mau noi mai XSS?

ʻAʻole pono nā nāwaliwali o XSS e hoʻoweliweli i ka palekana o kāu noi. Ke hoʻomaopopo nei i kā lākou hana, hopu iā lākou me SAST nā mea hana, a me ka hahai ʻana i nā hana coding palekana hiki ke hōʻemi i kou ʻike ʻana i ka aneane ʻole ma mua o ka loaʻa ʻana o ka hakahaka e ka mea hoʻouka.

At ʻO Xygeni, ua kūkulu ʻia mākou e hopu i kēia mau nāwaliwali i ka wā mua, e hoʻonohonoho i nā mea koʻikoʻi maoli, a mālama iā lākou mai kāu pipelinepiha loa.

Helu ʻia kahi demo, a i ʻole e hoʻomaka i ke scan ʻana i kāu code no ka manuahi i kēia lā.

Nīnau Hoʻoholo Pine

He aha ka nāwaliwali o ka XSS?

ʻO XSS (Cross-Site Scripting) kahi nāwaliwali e hiki ai i ka mea hoʻouka ke hoʻokomo i kahi script ʻino i loko o kahi ʻaoʻao pūnaewele, a laila holo i ka polokalamu kele pūnaewele o kekahi mea hoʻohana me he mea lā he ʻāpana ia o ka pūnaewele kūpono.

He aha nā ʻano nui ʻekolu o XSS?

ʻO XSS i mālama ʻia (ua mālama ʻia ke kiʻina ma ke kikowaena a holo no kēlā me kēia malihini), Reflected XSS (ua hoʻokomo ʻia ke kiʻina i loko o kahi loulou a holo wale ke kaomi ʻia kēlā loulou), a me DOM-based XSS (hoʻokō piha ke kiʻina ma ka polokalamu kele pūnaewele ma o ka JavaScript ʻaoʻao client palekana ʻole, me ka ʻole o ka hoʻokomo ʻana i ke kikowaena).

hiki SAST Hopu nā mea hana i ka XSS e pili ana iā DOM?

ʻAe, hou SAST nā mea hana e nānā i ka JavaScript ʻaoʻao o ka mea kūʻai aku no nā ʻano like ʻole (e like me ka hoʻokomo ʻole ʻia i kākau pololei ʻia i loko o ka DOM) e hoʻoulu ai i ka XSS e pili ana iā DOM, ʻaʻole wale ke code ʻaoʻao kikowaena.

He nāwaliwali maʻamau anei ka XSS?

ʻAe. Ke noho mau nei ʻo XSS i kahi komo mau ma ka OWASP Top 10, ʻoiai no ka mea hoʻokahi wale nō kahua hoʻokomo i nānā ʻole ʻia e hōʻike i nā mea hoʻohana o kahi noi holoʻokoʻa.

Pehea ʻo a SAST mea hana ʻokoʻa mai kahi Web Application Firewall (WAF) no ka pale ʻana iā XSS?

A SAST Loaʻa i ka mea hana ke ʻano palupalu i kāu code kumu ma mua o ka hoʻolaha ʻana, no laila ʻaʻole loa e hoʻouna ʻia ka bug. Noho kahi WAF i mua o kahi noi e holo nei a hoʻāʻo e ālai i nā noi ʻino i ka wā holo, he ʻupena palekana ia, ʻaʻole he hoʻoponopono no ke code ma lalo.

nā mea hana-sca-tools-software-analysis-composition
E hoʻonohonoho i ka mea nui, hoʻoponopono, a hoʻopaʻa i kāu mau pilikia polokalamu
E kiʻi i kāu moʻokāki manuahi.
ʻAʻole koi ʻia kahi kāleka hōʻaiʻē.

E hoʻopaʻa i kāu Hoʻomohala Polokalamu a me ka Hoʻouna ʻana

me ka Xygeni Product Suite